DBUtils
导包
时Apache组织提供的一个开源JDBC工具类库 它是对JDBC的简单封装 学习成本极低 并且能极大简化JDBC编码的工作量同时也不会影响程序的性能
添加数据操作
QueryRunner runner =new QueryRunner();
Connection conn = DruidUtils.getConnection3();
String sql ="insert into customers (name ,email,birth)values(?,?,?)";
int update = runner.update(conn, sql, "蔡徐坤11",2333,null);
System.out.println("添加了"+update+"条数据");
JDBCUtils.closeResource(conn, null);
删除 修改也类似 改变下sql语句
查询
BeanHander :是 ResultSetHandler 接口的实现类 用于查询表中一条记录
单条查询
QueryRunner runner =new QueryRunner();
Connection conn = DruidUtils.getConnection3();
String sql = "select id ,name ,email ,birth from customers where id =?";
BeanHandler<Customers> handler = new BeanHandler<>(Customers.class);
Customers customer = runner.query(conn, sql, handler, 10);
System.out.println(customer);
BeanListHandle 用于封装表中封装多条记录构成的集合(下面的未处理异常)
QueryRunner runner =new QueryRunner();
Connection conn = DruidUtils.getConnection3();
String sql = "select id ,name ,email ,birth from customers where id <?";
BeanListHandler<Customers> handler =new BeanListHandler<>(Customers.class);
List<Customers> list = runner.query(conn, sql, handler, 10);
for(Customers l : list)
{
System.out.println(l);
}
MapHander 查询出来是以键值对的情况 对应表中一条记录 将字段及相应字段的值作为map中的key和value
QueryRunner runner =new QueryRunner();
Connection conn = DruidUtils.getConnection3();
String sql = "select id ,name ,email ,birth from customers where id =?";
MapHandler handler =new MapHandler();
Map<String, Object> map = runner.query(conn, sql, handler,10);
System.out.println(map);
MapListHandler 对应表中多条记录 将字段及相应字段的值作为map中的key 和value 。将这些map添加到list中
QueryRunner runner =new QueryRunner();
Connection conn = DruidUtils.getConnection3();
String sql = "select id ,name ,email ,birth from customers where id <?";
MapListHandler handler =new MapListHandler();
List<Map<String, Object>> map = runner.query(conn, sql, handler,10);
for(Map<String, Object> l : map)
{
System.out.println(l);
}
特殊查询
ScalarHandler 特殊查询 只要更换Sql语句即可
例如查询表中共有多少条记录
QueryRunner runner =new QueryRunner();
Connection conn = DruidUtils.getConnection3();
String sql = "select count(*)from customers";
ScalarHandler handler = new ScalarHandler();
Object query = runner.query(conn, sql, handler);
System.out.println(query);