配置文件
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

2

3

4

5

6

7

8

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

2

3

4

5

6

7

8

9

10


11

12

13



14

15

16

17

18

19



20

21

22

23


24

25

26

27

28

29

30

31



32

33

34

35

36



37

38

39

40



41

42

43

44

45

46

47

48

49



50

51



52

53

54

55

56

57

58

59



60



61

62

63



64

65



66

67

68



69

70

71

72

73

74



75

76

77

78

79



80

81

82

83

84

85



86

87



88

89

90

91

92

93

94

95



96



97

98

99



100

101



102

103

104



105

106

107

108

109

110



111
