知识大全 Apache Commons DbUtils 快速上手
Posted 工具
篇首语:坚志而勇为,谓之刚。刚,生人之德也。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Apache Commons DbUtils 快速上手相关的知识,希望对你有一定的参考价值。
Apache Commons DbUtils 快速上手 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Hibernate太复杂 iBatis不好用 JDBC代码太垃圾 DBUtils在简单与优美之间取得了完美平衡 一 概述 DbUtils小巧的Java数据库操作工具 它在JDBC的基础上做了科学的封装 旨在简化JDBC代码混乱与重复 对于JDBC代码 存在很多问题 算是对Java的批判 操作过程复杂 代码操作一个模式 大量的重复 结果集难以处理 拿到一个ResultSet干屁啊 一个一个度 转称JavaBean 后来形成List 太麻烦了 到处都强制检查SQLException 烦不烦啊 影响代码的美观和可读性 当然 以上的批判不是说JDBC设计不合理 二是缺乏更高层操作API的支持 因此才产生了众多的开源数据库操作的框架和工具包 二 熟悉DBUtils的API 针对DBUitlsAPI的包 做个简单的翻译 以便迅速掌握API的使用 包mons dbutils DbUtils是一个为简化JDBC操作的小类库 接口摘要ResultSetHandler 将ResultSet转换为别的对象的工具 RowProcessor 将ResultSet行转换为别的对象的工具 类摘要BasicRowProcessor RowProcessor接口的基本实现类 BeanProcessor BeanProcessor匹配列明到Bean属性名 并转换结果集列到Bean对象的属性中 DbUtils 一个JDBC辅助工具集合 ProxyFactory 产生JDBC接口的代理实现 QueryLoader 属性文件加载器 主要用于加载属性文件中的 SQL 到内存中 QueryRunner 使用可插拔的策略执行SQL查询并处理结果集 ResultSetIterator 包装结果集为一个迭代器 包mons dbutils handlers ResultSetHandler接口的实现类 类摘要AbstractListHandler 将ResultSet转为List的抽象类ArrayHandler 将ResultSet转为一个Object[]的ResultSetHandler实现类ArrayListHandler 将ResultSet转换为List<Object[]>的ResultSetHandler实现类BeanHandler 将ResultSet行转换为一个JavaBean的ResultSetHandler实现类BeanListHandler 将ResultSet转换为List<JavaBean>的ResultSetHandler实现类ColumnListHandler 将ResultSet的一个列转换为List<Object>的ResultSetHandler实现类KeyedHandler 将ResultSet转换为Map<Map>的ResultSetHandler实现类MapHandler 将ResultSet的首行转换为一个Map的ResultSetHandler实现类MapListHandler 将ResultSet转换为List<Map>的ResultSetHandler实现类ScalarHandler 将ResultSet的一个列到一个对象 包mons dbutils wrappers 添加java sql类中功能包装类 类摘要SqlNullCheckedResultSet 在每个getXXX方法上检查SQL NULL值的ResultSet包装类 StringTrimmedResultSet 取出结果集中字符串左右空格的ResultSet包装类 三 环境 Java mons dbutils bin zip mysql noinstall win zip mysql connector java zip 下载地址 dbutils bin zip /mysql noinstall win zip J/mysql connector java zip 四 实例 sql脚本 create table user ( id int( ) not null auto_increment name varchar( ) character set latin not null pswd varchar( ) character set latin default null primary key (id) ) engine=MYISAM auto_increment= default charset=gbk 简单的数据库连接工具 package stu lavasoft dbutils; import java sql Connection; import java sql DriverManager; import java sql SQLException; /** * 随便写个数据库连接获取工具 凑合著把例子跑起来 * * @author leizhimin : : */ public class ConnTools private static String dirverClassName = mysql jdbc Driver ; private static String url = jdbc:mysql:// : /testdb?useUnicode=true&characterEncoding=utf ; private static String user = root ; private static String password = leizhimin ; public static Connection makeConnection() Connection conn = null; try Class forName(dirverClassName); catch (ClassNotFoundException e) e printStackTrace(); try conn = DriverManager getConnection(url user password); catch (SQLException e) e printStackTrace(); return conn; 实体Bean package stu lavasoft dbutils; /** * 实体Bean * * @author leizhimin : : */ public class User private int id; private String name; private String pswd; public int getId() return id; public void setId(int id) this id = id; public String getName() return name; public void setName(String name) this name = name; public String getPswd() return pswd; public void setPswd(String pswd) this pswd = pswd; @Override public String toString() return User + id= + id + name= + name + \\ + pswd= + pswd + \\ + ; 测试类 package stu lavasoft dbutils; import mons dbutils DbUtils; import mons dbutils QueryRunner; import mons dbutils handlers BeanListHandler; import java sql Connection; import java sql SQLException; import java util List; /** * DbUtils入门 * * @author leizhimin : : */ public class Test public static void main(String[] args) throws SQLException test_insert(); test_find(); public static void test_insert() throws SQLException System out println( test_insert() ); //创建连接 Connection conn = ConnTools makeConnection(); //创建SQL执行工具 QueryRunner qRunner = new QueryRunner(); //执行SQL插入 int n = qRunner update(conn insert into user(name pswd) values( iii iii ) ); System out println( 成功插入 + n + 条数据! ); //关闭数据库连接 DbUtils closeQuietly(conn); public static void test_find() throws SQLException System out println( test_find() ); //创建连接 Connection conn = ConnTools makeConnection(); //创建SQL执行工具 QueryRunner qRunner = new QueryRunner(); //执行SQL查询 并获取结果 List<User> list = (List<User>) qRunner query(conn select id name pswd from user new BeanListHandler(User class)); //输出查询结果 for (User user : list) System out println(user); //关闭数据库连接 DbUtils closeQuietly(conn); 执行结果 test_insert() 成功插入 条数据! test_find() Userid= name= bbb pswd= bbb Userid= name= aaa pswd= bbb Userid= name= iii pswd= iii Userid= name= iii pswd= iii Process finished with exit code 呵呵 相比JDBC 的确方便多了 cha138/Article/program/Java/hx/201311/26220相关参考
知识大全 Apache Commons Lang之hashCode()、equals()
ApacheCommonsLang之hashCode()、equals() 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我
知识大全 struts源代码阅读(Commons-Pool包)
struts源代码阅读(Commons-Pool包) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 struts源代码阅读(Commons-Beanutils包)
struts源代码阅读(Commons-Beanutils包) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
知识大全 使用 Jakarta Commons 之库组件攻略
使用JakartaCommons之库组件攻略 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Ja
知识大全 Apusic AS的Web应用中调用commons-logging
ApusicAS的Web应用中调用commons-logging 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起
知识大全 Apusic AS的Web应用中调用commons-loggi
ApusicAS的Web应用中调用commons-loggi 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
隐藏apache和php的版本信息webserver避免一些不必要的麻烦可以把apache和php的版本信息不显示 隐藏Apache版本信息 /etc/apache/apacheconf或/e
为了减少客户端对服务端资源的请求可以开启mod_expiresso模块 在apache%C%E%D%C/"target="_blank">apache配置文件中去掉这段 “#LoadMo
APACHE支持.htaccess方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如何让自己
Apache的完全安装转载 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 从互联网下载以下几个程