在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