在Java开发中,使用JDBC操作数据库的四个步骤如下:
下面这是c3p0数据库连接池的运行机制
(1) 程序初始化时创建连接池
(2) 使用时向连接池申请可用连接
(3) 使用完毕,将连接返还给连接池
(4) 程序退出时,断开所有连接,并释放资源
我用的开发工具是IDEA,创建的是Maven项目,要使用c3p0需要配置相关模块,如图所示

<!-- mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.5</version>
</dependency>
<!-- c3p0 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
db.properties 文件名不能改, 必须放在src下 ,配置文件中的key名称不能变



好,完成这些后开始连接数据库
package jdbc;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
public class JDBCUtils {
public void setConnection() throws SQLException, PropertyVetoException, IOException {
//创建连接池
ComboPooledDataSource dataSource = new ComboPooledDataSource();
//加载配置文件
Properties properties = new Properties();
properties.load(new FileInputStream("src/main/java/db.properties"));
String driver = properties.getProperty("driver");
String url = properties.getProperty("url");
String username = properties.getProperty("username");
String password = properties.getProperty("password");
//获得连接
Connection conn = null;
PreparedStatement ps = null;
ResultSet res = null;
dataSource.setDriverClass(driver);
dataSource.setJdbcUrl(url);
dataSource.setUser(username);
dataSource.setPassword(password);
conn = dataSource.getConnection();
String sql = "select * from user";
ps = conn.prepareStatement(sql);
res = ps.executeQuery();
while (res.next()){
System.out.println(res.getInt("id")+" "+res.getString("username")+" "+res.getString("password"));
}
}
}
class text{
public static void main(String[] args) throws PropertyVetoException, SQLException, IOException {
JDBCUtils jdbcUtils = new JDBCUtils();
jdbcUtils.setConnection();
}
}

原文:https://www.cnblogs.com/zyx110/p/11276476.html