Common Dbutils是操作数据库的组件,对传统操作数据库的类进行二
次封装,可以把结果集转化成List。
DBUtils包括3个包: org.apache.commons.dbutils org.apache.commons.dbutils.handlers org.apache.commons.dbutils.wrappers DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。 org.apache.commons.dbutils DbUtils 关闭链接等操作 QueryRunner 进行查询的操作 org.apache.commons.dbutils.handlers ArrayHandler :将ResultSet中第一行的数据转化成对象数组 ArrayListHandler将ResultSet中所有的数据转化成List,List中存放的是
Object[] BeanHandler :将ResultSet中第一行的数据转化成类对象 BeanListHandler :将ResultSet中所有的数据转化成List,List中存放的是类对象 ColumnListHandler :将ResultSet中某一列的数据存成List,List中存放的是
Object对象 KeyedHandler :将ResultSet中存成映射,key为某一列对应为Map。Map中存放的是数
据 MapHandler :将ResultSet中第一行的数据存成Map映射 MapListHandler :将ResultSet中所有的数据存成List。List中存放的是Map ScalarHandler :将ResultSet中一条记录的其中某一列的数据存成Object org.apache.commons.dbutils.wrappers SqlNullCheckedResultSet :对ResultSet进行操作,改版里面的值 StringTrimmedResultSet :去除ResultSet中中字段的左右空格。Trim()
主要方法:
DbUtils类:启动类
ResultSetHandler接口:转换类型接口
MapListHandler类:实现类,把记录转化成List
BeanListHandler类:实现类,把记录转化成List,使记录为JavaBean类型的对象
Qrery Runner类:执行SQL语句的类
建立三个Java文件
命名为BeanListExample.java
Guestbook.java
MapListExample.java
源码:
BeanListExample.java
Code
package
com.sy;
import
org.apache.commons.dbutils.DbUtils;
import
org.apache.commons.dbutils.QueryRunner;
import
org.apache.commons.dbutils.handlers.BeanListHandler;
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.SQLException;
import
java.util.List;
public
class
BeanListExample
{
public
static
void
main(String[] args)
{ Connection conn
=
null
; String url
=
"
jdbc:mysql://localhost:3306/people
"
; String jdbcDriver
=
"
com.mysql.jdbc.Driver
"
; String user
=
"
root
"
; String password
=
"
hicc
"
;
DbUtils.loadDriver(jdbcDriver);
try
{ conn
=
DriverManager.getConnection(url, user, password); QueryRunner qr
=
new
QueryRunner(); List results
=
(List) qr.query(conn,
"
select id,name from guestbook
"
,
new
BeanListHandler(Guestbook.
class
));
for
(
int
i
=
0
; i
<
results.size(); i
++
)
{ Guestbook gb
=
(Guestbook) results.get(i); System.out.println(
"
id:
"
+
gb.getId()
+
"
,name:
"
+
gb.getName()); }
}
catch
(SQLException e)
{ e.printStackTrace(); }
finally
{ DbUtils.closeQuietly(conn); }
}
}
Guestbook.java
Code
package
com.sy;
public
class
Guestbook
{
private
Integer id;
private
String name;
public
Integer getId()
{
return
id; }
public
void
setId(Integer id)
{
this
.id
=
id; }
public
String getName()
{
return
name; }
public
void
setName(String name)
{
this
.name
=
name; }
}
MapListExample.java
Code
package
com.sy;
import
org.apache.commons.dbutils.DbUtils;
import
org.apache.commons.dbutils.QueryRunner;
import
org.apache.commons.dbutils.handlers.MapListHandler;
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.SQLException;
import
java.util.List;
import
java.util.Map;
public
class
MapListExample
{
public
static
void
main(String[] args)
{ Connection conn
=
null
; String url
=
"
jdbc:mysql://localhost:3306/people
"
; String jdbcDriver
=
"
com.mysql.jdbc.Driver
"
; String user
=
"
root
"
; String password
=
"
hicc
"
;
DbUtils.loadDriver(jdbcDriver);
try
{ conn
=
DriverManager.getConnection(url, user, password); QueryRunner qr
=
new
QueryRunner(); List results
=
(List) qr.query(conn,
"
select id,name from guestmessage
"
,
new
MapListHandler());
for
(
int
i
=
0
; i
<
results.size(); i
++
)
{ Map map
=
(Map) results.get(i); System.out.println(
"
id:
"
+
map.get(
"
id
"
)
+
"
,name:
"
+
map.get(
"
name
"
)); }
}
catch
(SQLException e)
{ e.printStackTrace(); }
finally
{ DbUtils.closeQuietly(conn); }
}
}
使用组建好需要添加commons
-
dbutils
-
1.1
.jar和mysql
-
connector
-
java
-
5.1
.
6
-
bin.jar
两个jar包。
配置完毕!!!
//
另一种方法
//
使用dbutils1.0版本
import
java.util.
*
;
import
java.util.logging.
*
;
import
java.sql.
*
;
import
org.apache.commons.dbutils.
*
;
import
org.apache.commons.dbutils.handlers.
*
;
public
class
TestDBUnits
{
public
static
void
main(String[]args)
throws
Exception
{ TestDBUnits test
=
new
TestDBUnits();
for
(
int
i
=
0
; i
<
1
; i
++
)
{ test.testQuery1(); test.testQuery2(); test.testUpdate(); }
}
public
void
testQuery1()
{
try
{ QueryRunner qr
=
new
QueryRunner() ; ResultSetHandler rsh
=
new
ArrayListHandler(); String strsql
=
"
select * from test1
"
; ArrayList result
=
(ArrayList)qr.query(getConnection() ,strsql ,rsh);
//
System.out.print("");
}
catch
(Exception ex)
{ ex.printStackTrace(System.out); }
}
public
void
testQuery2()
{
try
{ QueryRunner qr
=
new
QueryRunner() ; ResultSetHandler rsh
=
new
MapListHandler(); String strsql
=
"
select * from test1
"
; ArrayList result
=
(ArrayList)qr.query(getConnection() ,strsql ,rsh);
for
(
int
i
=
0
; i
<
result.size() ; i
++
)
{ Map map
=
(Map)result.get(i);
//
System.out.println(map);
}
//
System.out.print("");
}
catch
(Exception ex)
{ ex.printStackTrace(System.out); }
}
public
void
testUpdate()
{
try
{ QueryRunner qr
=
new
QueryRunner() ; ResultSetHandler rsh
=
new
ArrayListHandler(); String strsql
=
"
insert test1(page ,writable ,content)values('ttt','ttt','faskldfjklasdjklfjasdklj')
"
; qr.update(getConnection() ,strsql);
//
System.out.print("");
}
catch
(Exception ex)
{ ex.printStackTrace(System.out); }
}
private
Connection getConnection()
throws
InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException
{ String strDriver
=
"
org.gjt.mm.mysql.Driver
"
; String strUrl
=
"
jdbc:mysql://localhost:3306/test
"
; String strUser
=
"
root
"
; String strPass
=
""
; Class.forName(strDriver).newInstance();
return
DriverManager.getConnection(strUrl, strUser, strPass); }
}
|
|
随笔:8
文章:23
评论:45
引用:0
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
---|
24 | 25 | 26 | 27 | 28 | 29 | 30 | 1 | 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 | 1 | 2 | 3 | 4 |
|
留言簿(5)
文章分类(25)
最新随笔
搜索
积分与排名
最新评论
|
|