package cn.commons.DBUtils; import java.sql.Connection; import java.sql.SQLException; import java.util.List; import java.util.Map; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import org.apache.commons.dbutils.handlers.MapHandler; import org.apache.commons.dbutils.handlers.MapListHandler; import org.apache.commons.dbutils.handlers.ScalarHandler; import org.junit.Test; import cn.code.dbUtils.Stu; import cn.code.jdbc.JDBCUtils2; public class Demo1 { @Test public void fun1() throws Exception{ QueryRunner qr = new QueryRunner(); String sql="insert into stu values(?,?,?,?)"; Object[]params ={"dbUtils","java",23,"boy"}; Connection conn = qr.getDataSource().getConnection(); qr.update(conn, sql, params); } @Test public void fun2() throws SQLException{ QueryRunner qr = new QueryRunner(JDBCUtils2.getDataSource()); String sql="select * from stu"; //BeanListHandler多行结果集处理器,每行对应一个Stu对象 List<Stu> stus = qr.query(sql, new BeanListHandler<Stu>(Stu.class)); for(Stu s : stus ){ System.out.println(s); } } @Test public void fun3() throws SQLException{ /* * MapHandler * */ QueryRunner qr = new QueryRunner(JDBCUtils2.getDataSource()); String sql="select * from stu where number=?"; //BeanListHandler多行结果集处理器,每行对应一个Stu对象 Object[]params ={"0001"}; Connection conn = qr.getDataSource().getConnection(); Map stu = qr.query(conn, sql, new MapHandler(), params); System.out.println(stu); } @Test public void fun4() throws SQLException{ QueryRunner qr = new QueryRunner(JDBCUtils2.getDataSource()); String sql="select * from stu "; //BeanListHandler多行结果集处理器,每行对应一个Stu对象 //Object[]params ={"0001"}; Connection conn = qr.getDataSource().getConnection(); List<Map<String,Object>> stu = qr.query(conn, sql, new MapListHandler()); System.out.println(stu); } @Test public void fun5() throws SQLException{ QueryRunner qr = new QueryRunner(JDBCUtils2.getDataSource()); String sql="select count(*) from stu "; //BeanListHandler多行结果集处理器,每行对应一个Stu对象 //Object[]params ={"0001"}; Connection conn = qr.getDataSource().getConnection(); //count(*)返回值用Number,接收最为合适 Number stu = (Number)qr.query(conn, sql, new ScalarHandler()); System.out.println(stu); } @Test public void fun6() throws SQLException{ QueryRunner qr = new QueryRunner(JDBCUtils2.getDataSource()); String sql="select * from stu where number=?"; //BeanListHandler多行结果集处理器,每行对应一个Stu对象 Object[]params ={"0001"}; Connection conn = qr.getDataSource().getConnection(); Stu stu = qr.query(conn, sql, new BeanHandler<Stu>(Stu.class), params); System.out.println(stu); } }
//注意所有jdbc代码,均导入数据库连接池包,数据库连接包,自制JDBCUtils.jar等