JDBC连接数据库的几种方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC连接数据库的几种方法相关的知识,希望对你有一定的参考价值。

一、 最古老的方法(通过 Driver 接口直接连接数据库)


 

  1. 首先创建一个 Driver 实现类的对象
            Driver dirver = new com.mysql.jdbc.Driver();

     

  2. 准备连接数据库的基本信息:url、user、password
    1     String url = "jdbc:mysql://127.0.0.1:3306/java_jdbc";
    2     Properties info = new Properties();
    3     info.put("user", "root");
    4     info.put("password", "123456");
  3. 调用 Driver 借口的 connect(url, info) 获取数据库连接
    1         Connection connection = dirver.connect(url, info);

  实例代码:

技术分享
 1         @Test
 2     public void testDriver() throws SQLException {
 3         // 1. 创建一个 Driver 实现类的对象
 4         Driver dirver = new com.mysql.jdbc.Driver();
 5 
 6         // 2. 准备链接数据库的基本信息:url, user, password
 7         String url = "jdbc:mysql://127.0.0.1:3306/java_jdbc";
 8         Properties info = new Properties();
 9         info.put("user", "root");
10         info.put("password", "123456");
11 
12         // 3. 调用 Driver 借口的 connect(url, info) 获取数据库连接
13         Connection connection = dirver.connect(url, info);
14         System.out.println(connection);
15     }
View Code

 


 

二、编写一个通用的方法(通过Driver 接口实现


 

  1. 定义数据库基本信息变量
    1     String driverClass = null;
    2     String jdbcUrl = null;
    3     String user = null;
    4     String password = null;
  2. 创建一个properties文件,用来存放数据库连接基本信息
    1     driver=com.mysql.jdbc.Driver
    2     jdbcUrl=jdbc:mysql://127.0.0.1:3306/java_jdbc
    3     user=root
    4     password=123456
  3. 读取类路径下的jdbc.properties 文件
    1 InputStream in = 
    2                 getClass().getClassLoader().getResourceAsStream("jdbc.properties");
    3 Properties properties = new Properties();
    4 properties.load(in);
  4. 从properties文件获取数据库基本信息
    1 driverClass = properties.getProperty("driver");
    2 jdbcUrl = properties.getProperty("jdbcUrl");
    3 user = properties.getProperty("user");
    4 password = properties.getProperty("password");
  5. 通过反射创建 Driver 对象
    1 Driver driver = (Driver) Class.forName(driverClass).newInstance();
  6. 准备用户名和密码,并连接数据库
    1 Properties info = new Properties();
    2 info.put("user", user);
    3 info.put("password", password);
    4 Connection connection = driver.connect(jdbcUrl, info);

实例代码:

技术分享
 1     public Connection getConnection() throws Exception {
 2         String driverClass = null;
 3         String jdbcUrl = null;
 4         String user = null;
 5         String password = null;
 6 
 7         // 读取类路径下的jdbc.properties 文件
 8         InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties");
 9         Properties properties = new Properties();
10         properties.load(in);
11 
12         driverClass = properties.getProperty("driver");
13         jdbcUrl = properties.getProperty("jdbcUrl");
14         user = properties.getProperty("user");
15         password = properties.getProperty("password");
16 
17         // 通过反射创建 Driver 对象
18         Driver driver = (Driver) Class.forName(driverClass).newInstance();
19 
20         Properties info = new Properties();
21         info.put("user", user);
22         info.put("password", password);
23 
24         // 通过 Driver 的 connect 方法连接数据库.
25         Connection connection = driver.connect(jdbcUrl, info);
26 
27         return connection;
28     }
29 
30     @Test
31     public void testGetConnection() throws Exception {
32         System.out.println(getConnection());
33     }
View Code

 


三、通过DriverManager 驱动管理类获取数据库连接

 


 

  1. 准备数据库连接的四个字符串

 

    1).创建 properties 对象

1 Properties properties = new Properties();

 

    2).获取jdbc.properties 对应的输入流

1 InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("jdbc.properties");

 

    3).加载对应的输入流

1     properties.load(inputStream);

 

    4).具体决定 user、password、url、driver四个字符串

1 String driver = properties.getProperty("driver");
2 String jdbcUrl = properties.getProperty("jdbcUrl");
3 String user = properties.getProperty("user");
4 String password = properties.getProperty("password");

  2. 加载数据库驱动程序

1 Class.forName(driver);

 

  3. 通过 Drivermanager 的 getConnection() 方法获取数据库连接

1 return DriverManager.getConnection(jdbcUrl, user, password);

 

 

实例代码:

技术分享
 1     @Test
 2     public void testGetConnection23() throws Exception {
 3         System.out.println(getConnection2());
 4     }
 5     public Connection getConnection2() throws IOException, ClassNotFoundException, SQLException{
 6         
 7         Properties properties = new Properties();
 8         
 9         InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("jdbc.properties");
10         
11         properties.load(inputStream);
12         
13         String driver = properties.getProperty("driver");
14         String jdbcUrl = properties.getProperty("jdbcUrl");
15         String user = properties.getProperty("user");
16         String password = properties.getProperty("password");
17         
18         Class.forName(driver);
19         
20         return DriverManager.getConnection(jdbcUrl, user, password);
21     }
View Code

 


本文只是作者的笔记,只供参考,有错误欢迎指出!2017-10-28  11:14:03

 

以上是关于JDBC连接数据库的几种方法的主要内容,如果未能解决你的问题,请参考以下文章

JDBC-数据库的几种连接方式(笔记)

JDBC 数据库的几种连接方式

JDBC 数据库的几种连接方式

JDBC 数据库的几种连接方式

Oracle数据库连接的几种方式

Laravel:如何在控制器的几种方法中重用代码片段