15JdbcUtils1.0小工具

mac2026-09-04  0

1、JdbcUtils的作用

连接数据库的四大参数是:启动类、url、用户名、以及密码。这些参数都与数据库关联,如果将来想要更新数据库,那么就要去修改这四大参数,那么为了不去修改代码,我们写一个jdbcUtils类,让它从配置文件中读取配置参数,然后创建连接对象。

2、JdbcUtils代码

public class JdbcUtils { public static Connection getConnection() throws IOException, SQLException, ClassNotFoundException { /* * 1、加载配置文件(四大参数在配置文件中) * 2、加载驱动类 * 3、调用DriverManager.getConnection() * */ //加载配置文件 InputStream in=JdbcUtils.class.getClassLoader() .getResourceAsStream("bdconfig.properties"); Properties props=new Properties(); props.load(in); //加载驱动类 Class.forName(props.getProperty("driverClassName")); //得到Connection return DriverManager.getConnection(props.getProperty("url"), props.getProperty("username"), props.getProperty("password")); } }

代码优化: 加载配置文件与驱动类都需要执行一次,因此这部分代码可以放在静态代码块里。

import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; public class JdbcUtils { private static Properties props=null; //只在JdbcUtils类被加载时执行一次 static { //给props进行初始化,即加载bdconfig.properties文件到props对象中 //加载配置文件(四大参数在配置文件中) try { InputStream in=JdbcUtils.class.getClassLoader() .getResourceAsStream("bdconfig.properties"); props=new Properties(); props.load(in); }catch(IOException e) { throw new RuntimeException(e); } try {//加载驱动类 Class.forName(props.getProperty("driverClassName")); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } } public static Connection getConnection() throws SQLException { //得到Connection return DriverManager.getConnection(props.getProperty("url"), props.getProperty("username"), props.getProperty("password")); } }
最新回复(0)