33.2 JDBC第三方连接池

(1)连接池作用:管理数据库的连接,提高项目的性能

就是在连接池初始化的时候存入一定数量的连接,用的时候通过方法获取,不用的时候归还连接即可.

(2)常用连接池:

DBCP:(理解)    apache组织的

使用步骤:

1.导入jar(commons-dbcp-1.4.jarcommons-pool-1.5.6.jar)

2.使用api

a.硬编码(不推荐)

//创建连接池

BasicDataSource ds = new BasicDataSource();

//配置信息

ds.setDriverClassName("com.mysql.jdbc.Driver");

ds.setUrl("jdbc:mysql:///day07");

ds.setUsername("root");

ds.setPassword("1234");

Connection conn=ds.getConnection();

String sql="insert into category values(?,?);";

PreparedStatement st=conn.prepareStatement(sql);

//设置参数

st.setString(1, "c011");

st.setString(2, "饮料");

int i = st.executeUpdate();

System.out.println(i);

 

b.配置文件

//存放配置文件

Properties prop = new Properties();

prop.load(new FileInputStream("src/dbcp.properties"));

//设置

//prop.setProperty("driverClassName", "com.mysql.jdbc.Driver");

//创建连接池

DataSource ds = new BasicDataSourceFactory().createDataSource(prop);

Connection conn=ds.getConnection();

String sql="insert into category values(?,?);";

PreparedStatement st=conn.prepareStatement(sql);

//设置参数

st.setString(1, "c012");

st.setString(2, "饮料1");

int i = st.executeUpdate();

System.out.println(i);

C3P0:()

hibernatespring使用

有自动回收空闲连接的功能.

使用步骤:

1.导入jar(c3p0-0.9.1.2.jar)

2.使用api

a.硬编码

ComboPooledDataSource ds = new ComboPooledDataSource();

//设置基本参数

ds.setDriverClass("com.mysql.jdbc.Driver");

ds.setJdbcUrl("jdbc:mysql:///day07");

ds.setUser("root");

ds.setPassword("1234");

Connection conn=ds.getConnection();

String sql="insert into category values(?,?);";

PreparedStatement st=conn.prepareStatement(sql);

//设置参数

st.setString(1, "c013");

st.setString(2, "毒药");

int i = st.executeUpdate();

System.out.println(i);

 

b.配置文件

要求1:配置文件的名称:c3p0.properties或者 c3p0-config.xml

要求2:配置文件的路径:src

编码只需要一句话

new ComboPooledDataSource()//使用默认的配置

//可以切换xml配置文件中的标签 来加载不同的配置比如更换Orecal的数据库的配置

new ComboPooledDataSource(String configName)//使用命名的配置 若配置的名字找不到,使用默认的配置


(3)案例

技术分析:

Dbutils:apache组织的一个工具类,jdbc的框架,更方便我们使用

使用步骤:

1.导入jar(commons-dbutils-1.4.jar)

2.创建一个queryrunner

queryrunner作用:操作sql语句

构造方法:

new QueryRunner(Datasource ds);

3.编写sql

4.执行sql

query(..):执行查询操作

update(...):执行增删改操作


核心类或接口

QueryRunner:类名

作用:操作sql语句

构造器:

new QueryRunner(Datasource ds);

注意:

底层帮我们创建连接,创建语句执行者,释放资源.

常用方法:

query(..):

update(..):

使用步骤

//创建对象

QueryRunner runner = new QueryRunner(new ComboPooledDataSource());

//定义sql

String sql = "insert into bank(username,money) values(?,?)";

//执行sql

runner.update(sql,"赵六",500);

....

执行查询后返回的结果集

ResultSetHandler:封装结果集 接口

BeanListHandler,将查询结果的每一条记录封装成指定的bean对象,将每一个bean对象放入list中 返回.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值