Java实现数据库连接的五种方法
数据库连接方式
方式一
直接使用com.mysql.jdbc.Driver(),属于静态加载,灵活性差,依赖性强 推出方式2
public void connect01() throws SQLException { //创建dirver对象 Driver driver =new Driver(); String url = "jdbc:mysql://localhost:3306/studb"; //用户名与密码放入properties对象 Properties properties = new Properties(); properties.setProperty("user","root"); properties.setProperty("password","123456"); //建立连接 Connection connection = driver.connect(url,properties); System.out.println(connection); }
方式二
利用反射加载Driver类,动态加载,更加灵活
public void connect02() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException { Class<?> aClass = Class.forName("com.mysql.cj.jdbc.Driver"); Driver driver = (Driver) aClass.newInstance(); String url = "jdbc:mysql://localhost:3306/studb"; //用户名与密码放入properties对象 Properties properties = new Properties(); properties.setProperty("user","root"); properties.setProperty("password","123456"); //建立连接 Connection connection = driver.connect(url,properties); System.out.println(connection); }
方式三
用DriverManager替代Driver进行统一管理,具有更好的扩展性
public void connect03() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException { //利用反射加载Driver Class<?> aClass = Class.forName("com.mysql.cj.jdbc.Driver"); Driver driver = (Driver) aClass.newInstance(); //创建url和user和password String url = "jdbc:mysql://localhost:3306/studb"; String user = "root"; String password = "123456"; // 注册Driver驱动 DriverManager.registerDriver(driver); Connection connection = DriverManager.getConnection(url, user, password); System.out.println(connection); }
方式四
使用Class.forName 自动完成注册驱动,简化代码 是使用最多的
public void connect04() throws ClassNotFoundException, SQLException { //利用反射加载Driver类 //在加载Driver类时,完成注册 /*源码 1.静态代码块,在类加载时,会执行一次 2.DriverManager.registerDriver(new Driver)); static { try { DriverManager.registerDriver(new Driver()); } catch (SQLException var1) { throw new RuntimeException("Cant register driver!"); } } } */ Class.forName("com.mysql.cj.jdbc.Driver"); //创建url,user,password String url = "jdbc:mysql://localhost:3306/studb"; String user = "root"; String password = "123456"; Connection connection = DriverManager.getConnection(url,user,password); System.out.println(connection); }
方式五
实际开发中比较好的,在方式4上改进,使用配置文件,连接数据库更加灵活
public void connect05() throws IOException, ClassNotFoundException, SQLException { //通过properties对象获取文件信息 Properties properties = new Properties(); properties.load(new FileInputStream("src\Jdbc\myjdbc\mysql.properities")); //获取相关的值 String user = properties.getProperty("user"); String url = properties.getProperty("url"); String driver = properties.getProperty("driver"); String password = properties.getProperty("password"); Class.forName(driver); Connection connection = DriverManager.getConnection(url,user,password); System.out.println(connection); }