DbUtil的介绍使用


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