DButils实现增删查改

获取数据库连接

static Connection con=JdbcUtils.MyUtils();//这个连接类静态获取要自己定义

插入

public static void insert() throws SQLException{
        QueryRunner qr=new QueryRunner();
        String sql="insert into sort(sname,sprice,sdesc) values (?,?,?)";
   //用数组封装插入数据 Object []obj
={"小米手机",2899,"大甩卖"};
     //obj是数组,位置要求插入的是可变参数,这里用数组来满足
int re=qr.update(con,sql,obj); System.out.println(re); DbUtils.close(con); }

 修改

public static void update() throws SQLException{
        QueryRunner qr=new QueryRunner();
        String sql="update sort set sname=?,sprice=?,sdesc=? where sid=?";
        Object [] obj={"",1000,"热卖",11};
        int r=qr.update(con,sql,obj);
        System.out.println(r);
        DbUtils.close(con);
    }

删除

public static void delete() throws SQLException{
        QueryRunner qr=new QueryRunner();
        String sql="delete from sort where sid=?";
        int re=qr.update(con,sql,11);
        System.out.println(re);
        DbUtils.close(con);
    }

查询--查询有多种处理结果集的方式,这里写8种

ArrayHandler

将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值

ArrayListHandler

将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。

BeanHandler

将结果集中第一条记录封装到一个指定的javaBean中。

BeanListHandler

将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中

ColumnListHandler

将结果集中指定的列的字段值,封装到一个List集合中

ScalarHandler

它是用于单数据。例如select count(*) from 表操作。

MapHandler

将结果集第一行封装到Map集合中,Key 列名, Value 该列数据

MapListHandler

将结果集第一行封装到Map集合中,Key 列名, Value 该列数据,Map集合存储到List集合

 

private static void MapListHandler() throws SQLException {
/*
* 将结果集第一行封装到Map集合中,Key 列名, Value 该列数据,Map集合存储到List集合
*/
QueryRunner qr=new QueryRunner();
String sql="select * from sort";
List<Map<String,Object>> result=qr.query(con, sql,new MapListHandler());
for(Map<String,Object> map:result){
for(String key:map.keySet()){
System.out.print(key+"..."+map.get(key)+" ");
}
System.out.println();
}
DbUtils.close(con);
}
private static void MapHandler() throws SQLException {
/*
* 将结果集第一行封装到Map集合中,Key 列名, Value 该列数据
*/
QueryRunner qr=new QueryRunner();
String sql="select * from sort";
Map<String,Object> result=qr.query(con, sql,new MapHandler());
for(String key:result.keySet()){
System.out.print(key+"..."+result.get(key));
}
DbUtils.close(con);

}
private static void ScalarHandler() throws SQLException {
/*
* 它是用于单数据。例如select count(*) from 表操作
*/
QueryRunner qr=new QueryRunner();
String sql="select count(*) from sort";
Object obj=qr.query(con, sql,new ScalarHandler<Object>());
System.out.println(obj);
DbUtils.close(con);

}
private static void ColumnListHandler() throws SQLException {
/*
* 将结果集中指定的列的字段值,封装到一个List集合中
*/
QueryRunner qr=new QueryRunner();
String sql="select * from sort";
//返回的是一个String
List<String> result=qr.query(con, sql,new ColumnListHandler<String>("sname"));
for(Object obj:result){
System.out.println(obj);
}
DbUtils.close(con);


}
private static void BeanListHandler() throws SQLException {
/*
* 将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中
*/
QueryRunner qr=new QueryRunner();
String sql="select * from sort";
//返回的是List集合
List<Sort> result=qr.query(con, sql,new BeanListHandler<Sort>(Sort.class));
for(Sort s:result){
System.out.println(s);
}
DbUtils.close(con);

}
private static void BeanHandler() throws SQLException {
/*
* 将结果集中第一条记录封装到一个指定的javaBean中
*/
QueryRunner qr=new QueryRunner();
String sql="select * from sort";
//通过反射获得一个Sort对象,加了Sort的泛型
Sort s=qr.query(con, sql,new BeanHandler<Sort>(Sort.class));
//因为重写了toString(),可直接打印
System.out.println(s);
DbUtils.close(con);
}
private static void ArrayListHandler() throws SQLException {
/*
* 将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中
*/
QueryRunner qr=new QueryRunner();
String sql="select * from sort";
//返回的是一个list,每条list是一个Object数组
List<Object[]> result=qr.query(con,sql,new ArrayListHandler());
//这里用到双重for循环遍历
for(Object[] obj:result){
for(Object o:obj){
System.out.print(o);
}
System.out.println();
}
DbUtils.close(con);


}
private static void ArrayHandler() throws SQLException {
/*
* 将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值
*/
QueryRunner qr=new QueryRunner();
String sql="select * from sort";
//返回的是一个Object数组
Object [] obj=qr.query(con,sql,new ArrayHandler());
for(Object o:obj){
System.out.print(o);
}
DbUtils.close(con);

}

猜你喜欢

转载自www.cnblogs.com/findlisa/p/10759910.html