1.首先我们需要导入3个包(mvnrepository.com搜这个网址下载)
commons-dbcp-1.2.1.jar(apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件)
commons-pool.jar(连接池jar包)
mysql-connector-java-5.1.40-bin.jar(连接数据库的jar包)
2.在mysql数据库中创建名为jdbcDB的表
3.导入db.properties,放在src目录下(这里用的是mysql数据库)
jdbc.url=jdbc:mysql://localhost:3306/jdbcDB?useSSL=true jdbc.username=root jdbc.password=root jdbc.maxActive=100 jdbc.initialSize=20 jdbc.maxWait=5000
jdbc.url=jdbc:mysql://localhost:3306/jdbcDB?useSSL=true(连接数据库的地址)
jdbc.username=root(连接数据库的用户名)
jdbc.password=root(连接数据库的密码)
jdbc.maxActive=100(最大连接数据库连接数)
jdbc.initialSize=20(初始化连接数据库连接数,同时最多有20个数据库连接)
jdbc.maxWait=5000(最大连接时间毫秒数:ms超出等待时间会出错误信息)
4.创建JdbcUtil类
(第一种方式,不使用db.properties)
package jdbcdemo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class JdbcUtil { private static String url = "jdbc:mysql://localhost:3306/jdbcDB?useSSL=true"; private static String username = "root"; private static String password = "root"; private JdbcUtil(){} public static Connection getConn() throws SQLException{ return DriverManager.getConnection(url,username,password); } public static void close(Connection conn){ if (conn!=null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void main(String[] args) throws SQLException { System.out.println(getConn()); } }
(第二种方式,使用db.properties)
package jdbcday04; import java.io.IOException; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import org.apache.commons.dbcp.BasicDataSource; public class JdbcUtil { private static BasicDataSource dataSource = null; static{ dataSource = new BasicDataSource(); Properties prop = new Properties(); try { prop.load(JdbcUtil.class.getClassLoader().getResourceAsStream("db.properties")); String url = prop.getProperty("jdbc.url"); String username = prop.getProperty("jdbc.username"); String password = prop.getProperty("jdbc.password"); String initialSizeStr = prop.getProperty("jdbc.initialSize"); int initialSize = Integer.parseInt(initialSizeStr); String maxActiveStr = prop.getProperty("jdbc.maxActive"); int maxActive = Integer.parseInt(maxActiveStr); String maxWaitStr = prop.getProperty("jdbc.maxWait"); int maxWait = Integer.parseInt(maxWaitStr); try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e1) { e1.printStackTrace(); } dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); dataSource.setInitialSize(initialSize); dataSource.setMaxActive(maxActive); dataSource.setMaxWait(maxWait); } catch (IOException e) { e.printStackTrace(); } } public static Connection getConn() throws SQLException{ return dataSource.getConnection(); } public static void close(Connection conn){ if (conn!=null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void main(String[] args) throws SQLException { System.out.println(getConn()); System.out.println(dataSource.getUrl()+dataSource.getUsername()+dataSource.getPassword() +dataSource.getInitialSize()+dataSource.getMaxActive()+dataSource.getMaxWait()); System.out.println(getConn()); } }到此结束!转载请注明出处!