package 一些常用的工具类示例;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.MapHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/*
* 数据链接池的使用
* 1.导入数据库链接驱动javax.xml.bind.jar
* 2.导入链接sqljdbc41.jar
* 3.导入c3p0-0.9.5.2.jar
* 4.导入mchange-commons-java-0.2.11.jar
* 5.导入commons-dbutils-1.6.jar
* 5.把c3p0-config.xml配置放在src文件夹下
*/
public class c3p0数据链接池的使用 extends 映射的使用{
/*
* 增删改查
*/
public void query(HttpServletRequest request,HttpServletResponse response) {
try {
//链接 从c3p0-config.xml找配置
//new无参的构造方法加载默认配置
//new ComboPooledDataSource("join");
ComboPooledDataSource comboPooledDataSource=new ComboPooledDataSource();
//操作
QueryRunner queryRunner=new QueryRunner(comboPooledDataSource);
/*
* 增 删 改
*/
//增
String insert="insert into user values(?,?,?)";
queryRunner.update(insert,"user","268268","@qq.com");
//删
String delete="delete from user where name=user";
queryRunner.update(delete,"user");
//改
String update="update user set name=?,password=? where name=?";
Object[] user = {"client",123123,"user"};
queryRunner.update(update,user);
//查
/**把查询到数据封装到users类
* 表行数名必须与users的变量名相同
*BeanHandler:将结果集中第一条记录封装到一个指定的javaBean中。
*/
String query="select * from fresh where name=?";
users users=queryRunner.query(query,new BeanHandler<users>(users.class),"missed");
/**封装到list<users>
* BeanListHandler:查询所有,将每一条记录封装到JavaBean中,然后将JavaBean加到List中,最后返回List
*/
String selectList="select * from fresh"; //查询全部数据
List<users> list = queryRunner.query(selectList, new BeanListHandler<users>(users.class));
/**
* 查询表里面有一共多少条数据 int
* ScalarHandler : 用于处理聚合函数执行结果(一行一列)
**/
String countall="select count(*) from user";
int count=queryRunner.query(countall,new ScalarHandler<>());
/*封装到map中
* MapHandler:将查询的一条记录封装到Map中。map.key=键,map.value=值。
* 主要用途:多表操作,将数据转换为json等
*/
String map="select * from user where name=?";
Map<String, Object> maps=queryRunner.query(map,new MapHandler(),"user");
/*
* 封装到数组
*/
String sql = "select * from product where pid = ?;";
Object[] obj = queryRunner.query(sql, new ArrayHandler(), 12);
}catch(Exception e) {
e.printStackTrace();
}
}
}
Jdbc - c3p0工具
最新推荐文章于 2024-07-24 17:27:32 发布