配置文件dbconfig.xml如下:
1
<config>
2
<dbinfo>
3
<url>jdbc:oracle:thin:@133.1.72.44:1521:test</url>
4
<user>test</user>
5
<pwd>test</pwd>
6
<connNumber>10</connNumber>
7
</dbinfo>
8
</config>
9
<config>2
<dbinfo>3
<url>jdbc:oracle:thin:@133.1.72.44:1521:test</url>4
<user>test</user>5
<pwd>test</pwd>6
<connNumber>10</connNumber>7
</dbinfo>8
</config>9

这样数据库连接类部分就完成了
下面写一个简单数据访问类,由Table、RowSet和Row三个类组成:<o:p></o:p>
Table.java代码如下
<o:p>
1
package com.bat.afp.DAOComm;
2
3
import java.sql.Connection;
4
import java.sql.ResultSet;
5
import java.sql.ResultSetMetaData;
6
import java.sql.SQLException;
7
import java.sql.Statement;
8
import org.apache.log4j.Logger;
9
10
/**//**
11
* @author liuyf
12
*/
13
public class Table
{
14
15
private static final Logger logger = Logger.getLogger(Table.class);
16
17
private String tableName;
18
19
public Table(String name)
{
20
this.tableName = name;
21
}
22
23
/**//**
24
* 根据条件查出该Table中的某些列
25
*
26
* @param sql
27
* @param cols
28
* @return
29
* @throws SQLException
30
*/
31
private RowSet executeSQL(String criteria, String[] columns) throws SQLException
{
32
Connection conn = null;
33
Statement st = null;
34
ResultSet rs = null;
35
RowSet rows = new RowSet();
36
try
{
37
conn = DBUtil.getInstance().getConnection();
38
st = conn.createStatement();
39
StringBuffer buffer = new StringBuffer();
40
for (int i = 0; i < columns.length - 1; ++i)
{
41
buffer.append(columns[i]);
42
buffer.append(",");
43
}
44
buffer.append(columns[columns.length - 1]);
45
String column = buffer.toString();
46
rs = st.executeQuery("select " + column + " from " + tableName
47
+ (criteria == null ? "" : (" where " + criteria)));
48
int cols = columns.length;
49
while (rs.next())
{
50
Row row = new Row();
51
for (int i = 0; i < cols; ++i)
{
52
String name = columns[i];
53
String value = rs.getString(i + 1);
54
row.put(name, value);
55
}
56
rows.add(row);
57
}
58
}
59
finally
{
60
try
{
61
if (st != null)
62
st.close();
63
} catch (Exception e)
{
64
}
65
try
{
66
if (conn != null)
67
conn.close();
68
} catch (Exception e)
{
69
}
70
}
71
return rows;
72
}
73
74
private RowSet executeSQL(String sql) throws SQLException
{
75
Connection conn = null;
76
Statement st = null;
77
ResultSet rs = null;
78
RowSet rows = new RowSet();
79
try
{
80
conn = DBUtil.getInstance().getConnection();
81
st = conn.createStatement();
82
rs = st.executeQuery(sql);
83
ResultSetMetaData rsmd = rs.getMetaData();
84
int cols = rsmd.getColumnCount();
85
while (rs.next())
{
86
Row row = new Row();
87
for (int i = 0; i < cols; ++i)
{
88
String name = rsmd.getColumnName(i + 1);
89
String value = rs.getString(i + 1);
90
row.put(name, value);
91
}
92
rows.add(row);
93
}
94
}
95
finally
{
96
try
{
97
if (st != null)
98
st.close();
99
} catch (Exception e)
{
100
}
101
try
{
102
if (conn != null)
103
conn.close();
104
} catch (Exception e)
{
105
}
106
}
107
return rows;
108
}
109
110
private RowSet execute(String criteria) throws SQLException
{
111
&n
package com.bat.afp.DAOComm;2

3
import java.sql.Connection;4
import java.sql.ResultSet;5
import java.sql.ResultSetMetaData;6
import java.sql.SQLException;7
import java.sql.Statement;8
import org.apache.log4j.Logger;9

10

/**//**11
* @author liuyf12
*/13

public class Table
{14

15
private static final Logger logger = Logger.getLogger(Table.class);16

17
private String tableName;18

19

public Table(String name)
{20
this.tableName = name;21
}22

23

/**//**24
* 根据条件查出该Table中的某些列25
* 26
* @param sql27
* @param cols28
* @return29
* @throws SQLException30
*/31

private RowSet executeSQL(String criteria, String[] columns) throws SQLException
{32
Connection conn = null;33
Statement st = null;34
ResultSet rs = null;35
RowSet rows = new RowSet();36

try
{37
conn = DBUtil.getInstance().getConnection();38
st = conn.createStatement();39
StringBuffer buffer = new StringBuffer();40

for (int i = 0; i < columns.length - 1; ++i)
{41
buffer.append(columns[i]);42
buffer.append(",");43
}44
buffer.append(columns[columns.length - 1]);45
String column = buffer.toString();46
rs = st.executeQuery("select " + column + " from " + tableName47
+ (criteria == null ? "" : (" where " + criteria)));48
int cols = columns.length;49

while (rs.next())
{50
Row row = new Row();51

for (int i = 0; i < cols; ++i)
{52
String name = columns[i];53
String value = rs.getString(i + 1);54
row.put(name, value);55
}56
rows.add(row);57
}58
}59

finally
{60

try
{61
if (st != null)62
st.close();63

} catch (Exception e)
{64
}65

try
{66
if (conn != null)67
conn.close();68

} catch (Exception e)
{69
}70
}71
return rows;72
}73

74

private RowSet executeSQL(String sql) throws SQLException
{75
Connection conn = null;76
Statement st = null;77
ResultSet rs = null;78
RowSet rows = new RowSet();79

try
{80
conn = DBUtil.getInstance().getConnection();81
st = conn.createStatement();82
rs = st.executeQuery(sql);83
ResultSetMetaData rsmd = rs.getMetaData();84
int cols = rsmd.getColumnCount();85

while (rs.next())
{86
Row row = new Row();87

for (int i = 0; i < cols; ++i)
{88
String name = rsmd.getColumnName(i + 1);89
String value = rs.getString(i + 1);90
row.put(name, value);91
}92
rows.add(row);93
}94
}95

finally
{96

try
{97
if (st != null)98
st.close();99

} catch (Exception e)
{100
}101

try
{102
if (conn != null)103
conn.close();104

} catch (Exception e)
{105
}106
}107
return rows;108
}109

110

private RowSet execute(String criteria) throws SQLException
{111
&n
博客完成了数据库连接类部分,接着要编写一个由Table、RowSet和Row三个类组成的简单数据访问类,并给出了Table.java代码。涉及数据库连接及数据访问相关信息技术内容。
837

被折叠的 条评论
为什么被折叠?



