package com.cskaoyan.JDBCDemo;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.junit.Assert;
import org.junit.Test;
import javax.sql.DataSource;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
public class DBUtils {
@Test
public void tetsInsert() throws Exception {
QueryRunner queryRunner = new QueryRunner(getDataSource());
String sql = "insert into user(username,password,balance)values(?,?,?)";
Object[] params ={
"yangxing","123456",2000};
int rows = queryRunner.update(sql, params);
Assert.assertEquals(1,rows);
}
@Test
public void testUpdate() throws Exception {
QueryRunner queryRunner = new QueryRunner(getDataSource());
String sql = "update user set balance = 50 where id =?";
Object param = 333;
int row = queryRunner.update(sql, param);
Assert.assertEquals(1,row);
}
@Test
public void testDelete() throws Exception {
QueryRunner queryRunner = new QueryRunner(getDataSource());
String sql = "delete from user where id =?";
Object param = 222;
int row = queryRunner.update(sql, param);
Assert.assertEquals(1,row);
}
@Test
public void testQuery() throws Exception {
QueryRunner queryRunner = new QueryRunner(getDataSource());
String sql= "select * from user where username = ?";
Object param = "yangxing";
User user = queryRunner.query(sql, new BeanHandler<>(User.class), param);
System.out.println(user);
}
@Test
public void testBatch() throws Exception {
QueryRunner queryRunner = new QueryRunner(getDataSource());
String sql = "insert into user(username,password,balance) values (?,?,?)";
Object[][] params = new Object[1000][3];
for (int i = 0; i < 1000; i++) {
params[i] = new Object[]{
"user"+i,"password"+i,i};
}
int [] rowsArr = queryRunner.batch(sql,params);
}
private DataSource getDataSource() throws Exception {
Properties info = new Properties();
DataSource dataSource = null;
FileReader reader = new FileReader("druid.properties");
info.load(reader);
dataSource = DruidDataSourceFactory.createDataSource(info);
return dataSource;
}
}