这里我们使用开源的c3p0连接池进行操作:
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import java.sql.SQLException;
import java.util.List;
public class DBUtils {
public static void main(String[] args) {
//开源连接池中获取连接池,这里我们不需要获得单个连接,以为DBUtiles工具会自动
// 从连接池中获取一个connection,用完归还给连接池。
QueryRunner queryRunner = new QueryRunner(JDBCUtils2_c3p0.getDataSource());
//接下来我们开始准备参数,如果要做查询操作,那我们需要创建一个与查询内容相对应的javaBean
//把我们查询到底内容存储到表中,供我们使用,比如我们要查询Student这个表,那表中的参数
//我们要在javaBean中创建出来,并且名字要相同,如何创建相应的get set方法。
String sql1 = "select * from student where ssex=?";
String sql2 = "update student set spassword='909090' where sid=?";
try {
/* List<Object[]> objects= queryRunner.query(sql,new ArrayListHandler());
for(Object[] obj : objects){
System.out.println(Arrays.toString(obj));
}*/
//更新操作
int result = queryRunner.update(sql2,10);
if(result>0){
System.out.println("更新成功!");
}
//查询操作
List<Students> listStudent = queryRunner.query(sql1,new BeanListHandler<Students>(Students.class),"男");
//javabean的对象去遍历
for(Students students : listStudent){
int sid = students.getSid();
String sname = students.getSname();
int cclass = students.getCclass();
String spassword = students.getSpassword();
System.out.println(sid+" "+sname+" "+cclass+" "+spassword);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
下面是进行批量操作的演示
import org.apache.commons.dbutils.QueryRunner;
import java.sql.SQLException;
public class DBUtils_batch {
public static void main(String[] args) {
QueryRunner queryRunner = new QueryRunner(JDBCUtils2_c3p0.getDataSource());
String sql = "insert into bathed values(?,?)";
int n = 10;
int m = 2;
//n代表你要插入的条数,m代表sql语句中?的个数。
Object[][] pram = new Object[n][m];
for(int i=0;i<n;i++){
pram[i][0]=i+1;
pram[i][1]="name"+i;
}
try {
int[] result = queryRunner.batch(sql,pram);
System.out.println(result.toString());
} catch (SQLException e) {
e.printStackTrace();
}
}
}
这篇博客详细介绍了如何利用DBUtils库结合c3p0连接池,进行MySQL数据库的增删改查基本操作,并重点展示了执行批量操作的步骤和方法。
2189

被折叠的 条评论
为什么被折叠?



