Jdbc - c3p0工具

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();
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值