• DbUtils是Apache出品一款简化JDBC开发的工具类


    DbUtils

        - DbUtils是Apache出品一款简化JDBC开发的工具类
        - 使用DbUtils可以让我们JDBC的开发更加简单
        - DbUtils的使用:
            - 需要导入一个jar包:
                commons-dbutils-1.6.jar
            - 核心类
                QueryRunner --> 查询执行器
            - 方法:
     
                int update(Connection conn, String sql, Object... params)
                    - update用于执行增删改的语句
                    - 返回一个int型的值,表示执行完SQL语句影响到的行数
                    - 参数:
                        Connection conn --> 数据库连接
                        String sql --> 要执行的SQL语句 (INSERT INTO t_user VALUES(null,?,?,?,?) )
                        Object... params --> 可变参数表示的是用来填充占位符的内容
     
                <T> T query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)       
                    - query用于执行查询数据库的操作
                    - 返回一个返现,返回的是查询到的结果
                    - 参数:
                        Connection conn --> 数据库连接
                        String sql --> 要执行的SQL语句
                        ResultSetHandler<T> rsh --> 结果集的处理器,DbUtils会调用它的实现类去封装结果集
                        Object... params --> 可变参数表示的是用来填充站位符的内容
     
            - ResultSetHandler
                - ResultSetHandler用于将一个结果集转换为一个Java对象
                - 当我们调用QueryRunner的query方法时,需要传一个ResultSetHandler的实现类,
                    当方法查询到结果时,会调用实现类的handle来封装结果集
                - 方法:
                    T handle(ResultSet rs) throws SQLException
                     -当该方法被调用时,查询到结果集将会作为参数传递进来
                        我们可以将结果集转换为对象并返回
                - 我们可以自己来创建一个实现类实现该接口
     
            - 在DbUtils中已经为我们预先创建了多个Handler,大部分情况我们直接使用已经创建Handler即可
                而不用手动实现。
            - 常用的处理器:
                BeanHandler:
                    - BeanHandler用于将一个结果集转换为一个JavaBean
                    - 在BeanHandler中没有提供无参的构造器
                        BeanHandler(Class<T> type)
                    - 这个构造器的参数就是目标对象的Class对象
                    - 它是通过反射将属性封装进对象               
                    - 它是调用JavaBean中的setter方法,为属性设置值
                    - 注意在我们JavaBean的规范中,属性名是以getter和setter方法名为准的,而不是以变量名位置的
                        一般情况下变量名和getter和setter方法名是一致的。
     
                BeanListHandler
                    - 将查询到结果集转换为一个集合(List)
                    - 他的使用方式和BeanHandler类似
                    - BeanListHandler也是只有有参的构造器:
                        BeanListHandler(Class<T> type)
                    - 构造器需要一个JavaBean的Class对象,List存在什么对象,Class就传谁
     
                MapHandler
                    - 将查询到的结果转换为一个Map
                    - Map中保存的是键值对结构,键是列名 ,值是查询到的数据.
                    - 返回值类型: Map<String,Object>
     
                MapListHandler
                    - 将查询到的结果集以List的形式返回,List中保存的是Map
     
                ScalarHandler
                    - ScalarHandler可以将查询到的数据的第一行第一列的数据返回
                    - 主要用来执行类似于SELECT COUNT(*) FROM t_user这样的语句
     
     
     

    转载请注明出处!

    http://www.cnblogs.com/libingbin/

    感谢您的阅读。如果文章对您有用,那么请轻轻点个赞,以资鼓励。

  • 相关阅读:
    python 进程通信,共享变量
    使用 curl 和 xargs 命令批量删除 ES索引,并将一些不想删除的索引过滤出来
    Spark Over Yarn 发现输出到kafka报错: topic not present on metadata after x
    ES 同台机器多实例报 master not discovered or elected yet
    ES数据写入时间格式问题
    Kibana 发现数据时间不对
    python包部署到服务器上报 cannot find module error
    好久没写博客了,。。。。。
    linux 修改 elf 文件的dynamic linker 和 rpath
    linux 进程 进程组 作业 会话 控制终端
  • 原文地址:https://www.cnblogs.com/libingbin/p/5985509.html
Copyright © 2020-2023  润新知