Maven项目中c3p0连接数据库及实例
来源:互联网 发布:天津中为数据 编辑:程序博客网 时间:2024/06/03 22:38
1)在src目录下新建c3p0-config.xml
内容为
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<named-config name="mvcApp">
<property name="user">root</property>
<property name="password">123456</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/java?useUnicode=true&serverTimezone=UTC&characterEncoding=UTF-8</property>
<!-- 以上的user是数据库的用户,
password是数据库的密码,driverClass是mysql的数据库驱动,
jdbcUrl是连接数据库的url -->
<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数 -->
<property name="acquireIncrement">5</property>
<!--初始化时获取十个连接,取值应在minPoolSize与maxPoolSize之间 -->
<property name="initialPoolSize">10</property>
<!--连接池中保留的最小连接数 -->
<property name="minPoolSize">10</property>
<!--连接池中保留的最大连接数 -->
<property name="maxPoolSize">50</property>
<!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0-->
<property name="maxStatements">20</property>
<!--maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0 -->
<property name="maxStatementsPerConnection">5</property>
</named-config>
</c3p0-config>
2)在pom.xml中添加依赖
<!-- https://mvnrepository.com/artifact/c3p0/c3p0 -->
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
3)新建JDBCUtils工具类
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class JDBCUtils {
/**
* 释放连接
* @param connection
*/
public static void releaseConnection(Connection connection) {
try {
if (connection != null) {
connection.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static DataSource dataSource = null;
static {
// dataSource资源只能初始化一次
dataSource = new ComboPooledDataSource("mvcApp");
}
/**
* 获取连接
*
* @return
* @throws SQLException
*/
public static Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
public static DataSource getDataSource() {
return dataSource;
}
}
4)测试
数据库中新建employee表(emp_id自增)
创建测试类
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBCTest {
public static void main(String[] args) {
new JDBCTest().test1();
}
public void test4() {
try {
Connection con = JDBCUtils.getConnection(); // 声明Connection对象
PreparedStatement sql = con.prepareStatement("select * from employee"); // 声明PreparedStatement对象
ResultSet res = sql.executeQuery(); // 声明ResultSet对象
while(res.next()) {
System.out.println(res.getString(1) + "---" + res.getString(2) + "---" + res.getString(3));
}
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这就是c3p0的简单实例
- Maven项目中c3p0连接数据库及实例
- c3p0连接池使用教程及实例
- SSH项目中使用c3p0连接池
- Hiberate hibernate.cfg.xml 及c3p0连接池配置实例
- C3P0连接数据库
- c3p0数据源连接数据库
- c3p0连接数据库
- c3p0连接sql2005数据库
- c3p0的连接数据库
- c3p0连接数据库
- c3p0连接MySql数据库
- JDBC连接中C3P0
- C3P0数据源 连接Access数据库
- java使用c3p0连接数据库
- spring c3p0连接数据库异常
- c3p0连接oracle数据库单元测试
- 使用c3p0连接mysql数据库
- JAVA通过C3P0连接数据库
- 如何在VScode中配置Python的交互式环境
- Spring boot 使用HTTPS
- ElasticSearch之——Java操作ES实例(基于ES-2.3.0)
- java调用HttpClient查询手机号码归属地
- Cow Contest
- Maven项目中c3p0连接数据库及实例
- Oracal 11g client安装
- 2017 Java面试知识
- 在Ubuntu 16.04.3 LTS上运行go install出错的问题
- 【VBA自学笔记(一)】数组
- cf231c
- 静态成员
- 地址
- 【大话设计模式】策略模式