在Eclipse中测试MySQL-JDBC(14)c3p0配置多个数据库连接 (独立)
来源:互联网 发布:柏林航空破产知乎 编辑:程序博客网 时间:2024/05/16 06:59
【0 添加好c3p0必须的jar文件】
【0 准备条件 mysql中有数据库jdbc和数据库jdbcdemo】
【数据库jdbcdemo】
表名:account
字段名参数:
name varchar(20)
salary double;
具体参数:
a 1000
b 2000
【数据库jdbc】
表名:account
字段名参数:
name varchar(20)
salary double;
具体参数:
aa 100
bb 200
【0 准备 c3p0-config.xml】
<c3p0-config><!-- c3p0默认的数据库jdbcdemo连接配置 --><default-config><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql:///jdbcdemo?characterEncoding=utf-8</property><property name="user">root</property><property name="password">root</property></default-config><!-- 用户自定义数据库jdbc连接配置 需要指定数据库名jdbc(name="jdbc")--><named-config name="jdbc"><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql:///jdbc?characterEncoding=utf-8</property><property name="user">root</property><property name="password">root</property></named-config></c3p0-config>
package com.flying.datesource;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import org.junit.Test;import com.flying.jdbc.JdbcUtils;import com.mchange.v2.c3p0.ComboPooledDataSource;public class C3p0Test {//查询数据库中的默认的jdbcdemo数据库//下面使用配置文件c3p0-config.xml中默认的数据库(jdbcdemo)@Testpublic void testC3p0_1() {Connection con=null;PreparedStatement pt=null;ResultSet rt =null;try {//默认的数据库,这里不需要参数,c3p0可以自动读取配置文件中的默认的数据库ComboPooledDataSource cpds = new ComboPooledDataSource();con = cpds.getConnection();//此查询语句中的参数一定要和数据库中的表的字段名(列名)相同(name)String sql="select * from account where name='a'"; pt = con.prepareStatement(sql); rt = pt.executeQuery(); if (rt.next()) {System.out.println(rt.getString(1)+"-"+rt.getDouble(2));}} catch (Exception e) {e.printStackTrace();}finally{JdbcUtils.release(con, pt, rt);}}//查询数据库中指定的jdbc数据库//下面使用配置文件c3p0-config.xml中的jdbc数据库@Testpublic void testC3p0_2() {Connection con=null;PreparedStatement pt=null;ResultSet rt =null;try {//指定的数据库,需要参数(数据库名),c3p0才可以读取配置文件中的指定的数据库ComboPooledDataSource cpds = new ComboPooledDataSource("jdbc");con = cpds.getConnection();//此查询语句中的参数一定要和数据库中的表的字段名(列名)相同(name)String sql="select * from account where name='aa'";pt = con.prepareStatement(sql);rt = pt.executeQuery();if (rt.next()) {System.out.println(rt.getString(1)+"-"+rt.getDouble(2));}} catch (Exception e) {e.printStackTrace();}finally{JdbcUtils.release(con, pt, rt);}}}
【测试结果】
分别可以查询出来两个数据库中的参数
testC3p0_1()
a-1000.0
testC3p0_2()
aa-100.0
【C3P0总结】
手动配置方式:
初始化C3P0的数据源,通过数据源的set方法,设置数据库连接信息。
Properties配置文件方式:
在src下创建一个properties文件,使用key和value的格式设置数据库的连接信息,最后通过java代码来读取properties文件中的数据并设置的数据源的set方法中。
c3p0-config.xml配置方式:
这种配置方式,其文件名称必须是c3p0-config.xml,在该xml中即可以配置默认的数据库连接,还可以配置自定义的数据库连接,在使用的时候,如果是使用默认的数据库连接,只需要初始化c3p0的数据源即可,如果要使用自定义的数据库连接,只需要在初始化c3po数据源的时候,传递一个参数,该参数就是配置文件中的自定义数据库的名称即可。
阅读全文
0 0
- 在Eclipse中测试MySQL-JDBC(14)c3p0配置多个数据库连接 (独立)
- 在Eclipse中测试MySQL-JDBC(15)c3p0配置文件对JDBC工具(JdbcUtil)类抽取 再优化
- 在Eclipse中测试MySQL-JDBC(13)Apache的DBCP连接池和c3p0连接池
- 在Eclipse中测试MySQL-JDBC(11)关于mysql事务管理,JDBC事务管理,回滚点
- 在Eclipse中测试MySQL-JDBC(6)JDBC工具(JdbcUtil)类抽取
- 在Eclipse中测试MySQL-JDBC(7)JDBC工具(JdbcUtil)类抽取 再优化
- JDBC 数据库连接池(DBCP、C3P0) 详解
- 在Eclipse中测试MySQL-JDBC(8)sql注入的防范PreparedStatement(处理命令)
- 在Eclipse中测试MySQL-JDBC(1)入门【数据库查询】
- 在Eclipse中测试MySQL-JDBC(2)优化【数据库查询】
- 在Eclipse中测试MySQL-JDBC(4)删除数据库中的数据【D】
- 在Eclipse中测试MySQL-JDBC(12)自定义连接池
- eclipse中数据库连接mysql配置
- 在Eclipse中测试MySQL-JDBC(9)statement 批处理(同时执行多条sql语句)
- 在Eclipse中测试MySQL-JDBC(10)preparestatement批处理(同时执行多条sql语句)
- JDBC数据库连接测试类(Oracle和MySQL)
- JDBC学习笔记—数据库连接池(DBCP和C3P0)
- MySQL 数据库连接(jdbc连接)
- dual learning for machine translation
- javaweb新闻发布系统(功能齐全)
- [Android][FRP]Factory Reset Protection
- 秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别
- 数据结构-绪论-数据结构
- 在Eclipse中测试MySQL-JDBC(14)c3p0配置多个数据库连接 (独立)
- Html流量充值页面效果
- LeetCode:M-560. Subarray Sum Equals K
- Activity——隐式启动 Activity
- hibernate单表curd
- Vim快速移动光标至行首和行尾
- glsl颜色混合算法
- Linux添加用户,目录权限
- Be Unique