细心!用心!耐心!
吾非文人,乃市井一俗人也,读百卷书,跨江河千里,故申城一游; 一两滴辛酸,三四年学业,五六点粗墨,七八笔买卖,九十道人情。
BlogJava
联系
聚合
管理
1 Posts :: 196 Stories :: 10 Comments :: 0 Trackbacks
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(5)
给我留言
查看公开留言
查看私人留言
随笔分类
网关编程
设计模式
文章分类
AJAX技术(13)
ANT的使用(3)
Behavioral 模式 (11)
core java中的一些数据结构的处理(15)
Creational 模式(7)
I/O机制的编程
JPA(6)
liferay portal(19)
Oracle BPM专题(1)
SSH框架编程(1)
Structural 模式 (10)
webservice编程
事务编程(2)
任务调度器(1)
多執行緒模式(8)
多线程编程(5)
如何debug(2)
常用javascript(7)
数据库编程(5)
服务器编程(5)
网关编程(6)
网络协议编程(2)
面向对象的一些难点问题
项目框架的设想(21)
文章档案
2014年7月 (5)
2014年1月 (1)
2012年10月 (3)
2012年9月 (4)
2012年6月 (7)
2008年11月 (8)
2008年5月 (1)
2007年11月 (2)
2007年10月 (2)
2007年7月 (7)
2007年5月 (42)
2007年4月 (58)
2007年3月 (9)
2007年2月 (8)
2007年1月 (7)
收藏夹
Doug Lea关于util.concurrent并发工具包的讲座(3)
搜索
最新评论
1. re: createNativeQuery原生-命名查询[未登录]
query.getResultList() 这个返回的值 用什么实体 类 接受 呢?
--111
2. re: JPA本地查询(Native Query)(二)[未登录]
fdfdf
--abc
3. re: JPA EntityManager详解(一)
版主,如果利用entityManager进行查询,如何在sql里边传参,防注入的那种
--谢谢
4. re: dwr简介--一个例子(一)
天通苑
--67
5. re: 图片自动生成器
wq ery 2we wei 3ik w3
-- kplie
与数据库操作相关的工具类
1
package
com.stt.dosp.datacollect.util;
2
3
import
java.sql.Connection;
4
import
java.sql.PreparedStatement;
5
import
java.sql.SQLException;
6
7
import
javax.sql.DataSource;
8
9
import
org.apache.log4j.Logger;
10
import
org.springframework.jdbc.datasource.DataSourceUtils;
11
12
/** */
/**
13
* 与数据库操作相关的工具类
14
*
@author
zhangjp
15
*
@version
1.0
16
*/
17
public
class
DataBaseUtil
{
18
19
//
日志句柄
20
private
static
Logger log
=
Logger.getLogger(DbUtil.
class
);
21
//
数据连接源
22
private
static
DataSource ds
=
null
;
23
//
连接对象
24
protected
Connection conn
=
null
;
25
//
预处理SQL语句对象
26
protected
PreparedStatement pst
=
null
;
27
28
/** */
/**
29
* 从数据库连接池中获取数据库连接
30
*
*/
31
public
static
Connection getConnectionFromPool()
throws
SQLException,Exception
{
32
//
在Spring配置文件中配置数据源
33
ds
=
(DataSource)SpringBeanFactory.getBean(
"
dataSource
"
);
34
return
ds.getConnection();
35
}
36
37
/** */
/**
38
* 获取数据源
39
*
*/
40
public
static
DataSource getDs()
{
41
return
ds;
42
}
43
44
45
/** */
/**
46
* 数据库的初始化
47
*
*/
48
protected
void
initConnection()
throws
Exception
{
49
conn
=
DbUtil.getConnectionFromPool();
50
conn.setAutoCommit(
false
);
51
}
52
53
/** */
/**
54
* 数据库的关闭
55
*
*/
56
protected
void
killConnection()
{
57
DataSourceUtils.releaseConnection(conn, DbUtil.getDs());
58
}
59
/** */
/**
60
* 事务提交
61
*
*/
62
protected
void
doCommit()
{
63
try
{
64
pst.executeBatch();
65
conn.commit();
66
}
catch
(Exception e)
{
67
log.error(
"
Do Commit Error:
"
+
e.getMessage());
68
doRollback();
69
}
70
}
71
/** */
/**
72
* 回滚操作
73
*
*/
74
protected
void
doRollback()
{
75
try
{
76
conn.rollback();
77
}
catch
(Exception e)
{
78
log.error(
"
Do Rollback Error:
"
+
e.getMessage());
79
}
80
}
81
/** */
/**
82
* 批处理操作
83
*
*/
84
protected
void
doBatch()
{
85
try
{
86
pst.executeBatch();
87
conn.commit();
88
}
catch
(SQLException e)
{
89
log.error(
"
Do Batch Error:
"
+
e.getMessage());
90
doRollback();
91
}
92
93
}
94
/** */
/**
95
* 过滤数组
96
*
*/
97
protected
String[] filterArray(String[] tempAarray)
{
98
String[] columnArray
=
new
String[tempAarray.length];
99
for
(
int
i
=
0
; i
<
tempAarray.length; i
++
)
{
100
if
(tempAarray[i].startsWith(
"
\
""
)&& tempAarray[i].endsWith(
"
\
""
))
{
101
tempAarray[i]
=
tempAarray[i].substring(
1
, tempAarray[i].length()
-
1
).trim();
102
}
103
columnArray[i]
=
tempAarray[i];
104
}
105
return
columnArray;
106
}
107
108
/** */
/**
109
* STRING类型数据入库处理
110
*
*/
111
protected
void
processStringColumn(PreparedStatement ps,String column,
int
columnSequence)
throws
Exception
{
112
if
( column.length()
==
0
||
column
==
null
||
column.equalsIgnoreCase(
"
NULL
"
) )
{
113
ps.setString(columnSequence,
null
);
114
}
else
if
( column.length()
>
0
)
{
115
ps.setString(columnSequence,column);
116
}
117
}
118
/** */
/**
119
* INT类型数据入库处理
120
*
*/
121
protected
void
processIntColumn(PreparedStatement ps,String column,
int
columnSequence)
throws
Exception
{
122
if
( column.trim().length()
==
0
||
column
==
null
||
column.equalsIgnoreCase(
"
NULL
"
) )
{
123
ps.setInt(columnSequence,
0
);
124
}
125
else
{
126
ps.setInt(columnSequence,Integer.parseInt(column.trim()));
127
}
128
}
129
/** */
/**
130
* LONG类型数据入库处理
131
*
*/
132
protected
void
processLongColumn(PreparedStatement ps,String column,
int
columnSequence)
throws
Exception
{
133
if
( column.trim().length()
==
0
||
column
==
null
||
column.equalsIgnoreCase(
"
NULL
"
) )
{
134
ps.setLong(columnSequence,
0
);
135
}
136
else
{
137
ps.setLong(columnSequence,Long.parseLong(column.trim()));
138
}
139
}
140
/** */
/**
141
* DOUBLE类型数据入库处理
142
*
*/
143
protected
void
processDoubleColumn(PreparedStatement ps,String column,
int
columnSequence)
throws
Exception
{
144
if
( column.trim().length()
==
0
||
column
==
null
||
column.equalsIgnoreCase(
"
NULL
"
) )
{
145
ps.setDouble(columnSequence,
0.0
);
146
}
147
else
{
148
ps.setDouble(columnSequence,Double.parseDouble(column.trim()));
149
}
150
}
151
/** */
/**
152
* DATE类型数据入库处理
153
*
*/
154
protected
void
processDateColumn(PreparedStatement ps,String column,
int
columnSequence)
throws
Exception
{
155
if
( column.trim().length()
==
0
||
column
==
null
||
column.equalsIgnoreCase(
"
NULL
"
) )
{
156
ps.setDate(columnSequence,
null
);
157
}
else
{
158
ps.setString(columnSequence,column);
159
}
160
161
}
162
163
164
//
/**
165
//
* 关闭数据库连接(原始的jdbc)
166
//
* */
167
//
public static void close(Connection conn, PreparedStatement pStmt) {
168
//
if (pStmt != null) {
169
//
try {
170
//
pStmt.close();
171
//
pStmt = null;
172
//
} catch (Exception e) {
173
//
log.error(e.getMessage(), e);
174
//
}
175
//
}
176
//
close(conn);
177
//
}
178
//
179
//
//
关闭连接(原始的jdbc)
180
//
public static void close(Connection conn) {
181
//
if (conn != null) {
182
//
try {
183
//
conn.close();
184
//
conn = null;
185
//
} catch (Exception e) {
186
//
log.error(e.getMessage(), e);
187
//
}
188
//
}
189
//
}
190
//
191
192
//
附Spring配置文件(参考)
193
//
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
194
//
<property name="driverClassName">
195
//
<value>${jdbc.driverClassName}</value>
196
//
</property>
197
//
<property name="url">
198
//
<value>${jdbc.url}</value>
199
//
</property>
200
//
<property name="username">
201
//
<value>${jdbc.username}</value>
202
//
</property>
203
//
<property name="password">
204
//
<value>${jdbc.password}</value>
205
//
</property>
206
//
</bean>
207
//
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
208
//
<property name="locations">
209
//
<list>
210
//
<value>classpath:/config/jdbc.properties</value>
211
//
<value>classpath:/config/customer.properties</value>
212
//
</list>
213
//
</property>
214
//
</bean>
215
216
217
}
218
posted on 2007-02-07 11:11
张金鹏
阅读(358)
评论(0)
编辑
收藏
所属分类:
core java中的一些数据结构的处理
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
截取字符串(针对字符串插入数据库,长度问题)
常用工具类
杂议java知识
发送邮件
文件上传
文件下载
前台分页
字符串变数组
去除所有引号的操作
与数据库操作相关的工具类
Powered by:
BlogJava
Copyright © 张金鹏