Dbutils如何实现高效的数据库增删改查操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计637个文字,预计阅读时间需要3分钟。
加载c3p0配置文件,将连接信息存放在ThreadLocal中(配置文件写法见上文)。
javapackage utils;
import java.io.IOException;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;
public class DataSourceUtil { private static DataSource dataSource;
static { try { Properties prop=new Properties(); prop.load(DataSourceUtil.class.getClassLoader().getResourceAsStream(c3p0-config.properties)); dataSource=new com.mchange.v2.c3p0.ComboPooledDataSource(); dataSource.setDriverClass(prop.getProperty(driver)); dataSource.setJdbcUrl(prop.getProperty(url)); dataSource.setUser(prop.getProperty(user)); dataSource.setPassword(prop.getProperty(password)); } catch (IOException | SQLException e) { e.printStackTrace(); } }
public static Connection getConnection() throws SQLException { return dataSource.getConnection(); }}
加载c3p0配置文件,链接放在ThreadLocal中(配置文件写法见上文)package utils;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class JdbcUtils {
private static ThreadLocal
package cn.jxau.dbutils.Demo; import java.sql.SQLException; import java.util.Date; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import org.junit.Test; import cn.jxau.domain.User; import utils.JdbcUtils; public class Demo1 { QueryRunner qr1 = new QueryRunner(JdbcUtils.getDataSource()); @Test public void insert() throws SQLException { String sql = "insert into users(id,name,password,email,birthday) values(?,?,?,?,?)"; Object[] params = { 1, "老孔", "123", "qq@qq.com", new Date() }; qr1.update(sql, params); } @Test public void find() throws SQLException { String sql = "select * from users where id=?"; User user = (User) qr1.query(sql, 1, new BeanHandler(User.class)); System.out.println(user.getBirthday()); } @Test public void batch() throws SQLException { String sql = "insert into users(id,name,password,email,birthday) values(?,?,?,?,?)"; Object[][] params = new Object[3][]; for (int i = 0; i < params.length; i++) { params[i] = new Object[]{ i+2, "老孔"+(i+2), "123", (i+2)+"qq@qq.com", new Date() }; } qr1.batch(sql, params); } @Test public void getAll() throws SQLException { String sql = "select * from users"; List list = (List) qr1.query(sql, new BeanListHandler(User.class)); System.out.println(list); } }
本文共计637个文字,预计阅读时间需要3分钟。
加载c3p0配置文件,将连接信息存放在ThreadLocal中(配置文件写法见上文)。
javapackage utils;
import java.io.IOException;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;
public class DataSourceUtil { private static DataSource dataSource;
static { try { Properties prop=new Properties(); prop.load(DataSourceUtil.class.getClassLoader().getResourceAsStream(c3p0-config.properties)); dataSource=new com.mchange.v2.c3p0.ComboPooledDataSource(); dataSource.setDriverClass(prop.getProperty(driver)); dataSource.setJdbcUrl(prop.getProperty(url)); dataSource.setUser(prop.getProperty(user)); dataSource.setPassword(prop.getProperty(password)); } catch (IOException | SQLException e) { e.printStackTrace(); } }
public static Connection getConnection() throws SQLException { return dataSource.getConnection(); }}
加载c3p0配置文件,链接放在ThreadLocal中(配置文件写法见上文)package utils;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class JdbcUtils {
private static ThreadLocal
package cn.jxau.dbutils.Demo; import java.sql.SQLException; import java.util.Date; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import org.junit.Test; import cn.jxau.domain.User; import utils.JdbcUtils; public class Demo1 { QueryRunner qr1 = new QueryRunner(JdbcUtils.getDataSource()); @Test public void insert() throws SQLException { String sql = "insert into users(id,name,password,email,birthday) values(?,?,?,?,?)"; Object[] params = { 1, "老孔", "123", "qq@qq.com", new Date() }; qr1.update(sql, params); } @Test public void find() throws SQLException { String sql = "select * from users where id=?"; User user = (User) qr1.query(sql, 1, new BeanHandler(User.class)); System.out.println(user.getBirthday()); } @Test public void batch() throws SQLException { String sql = "insert into users(id,name,password,email,birthday) values(?,?,?,?,?)"; Object[][] params = new Object[3][]; for (int i = 0; i < params.length; i++) { params[i] = new Object[]{ i+2, "老孔"+(i+2), "123", (i+2)+"qq@qq.com", new Date() }; } qr1.batch(sql, params); } @Test public void getAll() throws SQLException { String sql = "select * from users"; List list = (List) qr1.query(sql, new BeanListHandler(User.class)); System.out.println(list); } }

