1、 工具类 QueryRunner (模板类需要jar包commons-dbutils-1.6.jar)
QueryRunner qr=new QueryRunner(); 2、 方法
update(Connection conn,String sql,Object…params) 增删改
conn: 数据库连接 sql: 预编译sql语句 params: 占位符的值 query(Connection conn,String sql,ResultSetHandler rs,Object…params) 查询
conn: 数据库连接 sql: 预编译sql语句 rs: 结果集处理器 params: 占位符的值 3、 结果集处理器有哪些?
a. 处理多条数据的
b. 处理一条数据的
c. 处理一个数据的
ScalarHandler< Object> sh= new ScalarHandler < > ( ) ;
泛型:设置query方法的返回值类型
Object query = qr. query ( conn, sql, blh, params) ;
自定义工具类
public class BaseDao < T> {
public boolean update ( String sql, Object. . . params) {
Connection conn = JDBCUtils. getConnection ( ) ;
QueryRunner qr = new QueryRunner ( ) ;
try {
int update = qr. update ( conn, sql, params) ;
if ( update> 0 )
return true ;
} catch ( SQLException e) {
e. printStackTrace ( ) ;
} finally {
JDBCUtils. close ( conn) ;
}
return false ;
}
public List< T> queryList ( String sql, Class type , Object. . . params) {
Connection conn = JDBCUtils. getConnection ( ) ;
QueryRunner qr = new QueryRunner ( ) ;
BeanListHandler< T> blh = new BeanListHandler < > ( type) ;
try {
List< T> query = qr. query ( conn, sql, blh, params) ;
return query;
} catch ( SQLException e) {
e. printStackTrace ( ) ;
}
return null;
}
public T query ( String sql, Class type , Object. . . params) {
Connection conn = JDBCUtils. getConnection ( ) ;
QueryRunner qr = new QueryRunner ( ) ;
BeanHandler< T> bh = new BeanHandler < > ( type) ;
try {
T query = qr. query ( conn, sql, bh, params) ;
return query;
} catch ( SQLException e) {
e. printStackTrace ( ) ;
}
return null;
}
public Object queryOnly ( String sql, Object. . . params) {
Connection conn = JDBCUtils. getConnection ( ) ;
QueryRunner qr = new QueryRunner ( ) ;
ScalarHandler< Object> sh = new ScalarHandler < > ( ) ;
try {
Object query = qr. query ( conn, sql, sh, params) ;
return query;
} catch ( SQLException e) {
e. printStackTrace ( ) ;
}
return null;
}
public T getOnly ( String sql, int i) {
return null;
}
}