• 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);
    
    }

    Druid连接池可参考:

    https://blog.csdn.net/mollen/article/details/82556358

  • 相关阅读:
    c# 日期函数DateTime.ToString()日期的各种格式 (本人亲测)
    C# Excel导入、导出【源码下载】
    微信支付服务器CA证书更换服务器安装der证书的方法 DigiCert的根证书
    重置winsock目录解决不能上网的问题
    模型验证组件 FluentValidation
    对于“Newtonsoft.Json”已拥有为“NETStander.Library”定义的依赖项,解决办法
    .NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一)
    C# 中参数验证方式的演变
    一步一步ITextSharp 低级操作函数使用
    Winform 打印PDF顺序混乱,获取打印队列
  • 原文地址:https://www.cnblogs.com/findlisa/p/10759910.html
Copyright © 2020-2023  润新知