DbUtil是apache旗下的一个JDBC封装的开源工具jar包,使用它调用数据库CRUD操作非常简便。 使用DBUtils的优点 无资源泄漏 - DBUtils类确保不会发生资源泄漏。 清理和清除代码 - DBUtils类提供干净清晰的代码来执行数据库操作,而无需编写任何清理或资源泄漏防护代码。 Bean映射 - DBUtils类支持从结果集中自动填充javabeans。
查询示例代码:
package com.hbk.test; import java.sql.Connection; import java.sql.DriverManager; import java.util.List; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; /** * DbUtil工具的学习使用 * * @author 黄宝康 2019年6月11日 上午11:57:52 */ public class DbUtilTest { public static void main(String[] args) throws Exception { Connection conn = null; try { DbUtils.loadDriver("com.mysql.jdbc.Driver"); QueryRunner queryRunner = new QueryRunner(); conn = DriverManager.getConnection("jdbc:mysql://192.168.8.220:3306/jfinal_demo","root",""); List<Blog> lists =queryRunner.query(conn, "select * from blog", new BeanListHandler<Blog>(Blog.class)); for(Blog obj : lists){ System.out.println("id = "+obj.getId()+" title="+obj.getTitle()+" content="+obj.getContent()); } } catch (Exception e) { e.printStackTrace(); }finally{ DbUtils.close(conn); } } } package com.hbk.test; public class Blog { private int id; private String title; private String content; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } }
工程架构图 运行结果:
id = 3 title=test 2 content=test 2 id = 4 title=test 3 content=test 3 id = 5 title=333333 content=test 4 id = 9 title=eeeee content=eeeeeee id = 10 title=d content=ddd id = 11 title=fgfgfgfg content=rgr id = 12 title=fgffgf content=fgfdgfdgdf id = 14 title=hhh content=hhhhhhhhh id = 15 title=ggggggg content=ddddddddddddd id = 16 title=rr content=rrr id = 17 title=dddd content=dddddd
插入示例:
package com.hbk.test; import java.sql.Connection; import java.sql.DriverManager; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.dbutils.QueryRunner; /** * DbUtil工具的学习使用 * * @author 黄宝康 2019年6月11日 上午11:57:52 */ public class DbUtilTest { public static void main(String[] args) throws Exception { Connection conn = null; try { DbUtils.loadDriver("com.mysql.jdbc.Driver"); QueryRunner queryRunner = new QueryRunner(); conn = DriverManager.getConnection("jdbc:mysql://192.168.8.220:3306/jfinal_demo","root",""); int num = queryRunner.update(conn, "insert into blog(title,content) values(?,?)","标题","内容");//主键自增 System.out.println(num+"条数据已插入!"); }finally{ DbUtils.close(conn); } } }
运行程序,确实已成功插入。 更新示例:
package com.hbk.test; import java.sql.Connection; import java.sql.DriverManager; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.dbutils.QueryRunner; /** * DbUtil工具的学习使用 * * @author 黄宝康 2019年6月11日 上午11:57:52 */ public class DbUtilTest { public static void main(String[] args) throws Exception { Connection conn = null; try { DbUtils.loadDriver("com.mysql.jdbc.Driver"); QueryRunner queryRunner = new QueryRunner(); conn = DriverManager.getConnection("jdbc:mysql://192.168.8.220:3306/jfinal_demo","root",""); int num = queryRunner.update(conn, "update blog set title=? where content='内容'","新标题"); System.out.println(num+"条数据更新!"); }finally{ DbUtils.close(conn); } } }
运行程序,确实更新了 删除示例:
package com.hbk.test; import java.sql.Connection; import java.sql.DriverManager; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.dbutils.QueryRunner; /** * DbUtil工具的学习使用 * * @author 黄宝康 2019年6月11日 上午11:57:52 */ public class DbUtilTest { public static void main(String[] args) throws Exception { Connection conn = null; try { DbUtils.loadDriver("com.mysql.jdbc.Driver"); QueryRunner queryRunner = new QueryRunner(); conn = DriverManager.getConnection("jdbc:mysql://192.168.8.220:3306/jfinal_demo","root",""); int num = queryRunner.update(conn, "delete from blog where content='内容'"); System.out.println(num+"条数据已删除!"); }finally{ DbUtils.close(conn); } } }
运行程序,content为内容的数据确实被删除了。
原文链接:https://blog.csdn.net/huangbaokang/article/details/91434289