首页 > 代码库 > jdbc连接数据库工具包模板

jdbc连接数据库工具包模板

jdbc连接数据库操作

jdbc连接数据库模板,收藏可做模板使用(小型工程,一般大工程都会用框架,c3p0等连接,不考虑此种方法!)。

配置文件的使用(使用配置文件可以使我们后期的修改更加方便,当然,也可以使用java中的枚举效果也是相同的,不过在这里推荐大家使用配置文件

在这里使用mysql做类子:

 

1 #db.properties
2 #一般放在src下
3 
4 
5 
6 driver=com.mysql.jdbc.Driver
7 url=jdbc:mysql://127.0.0.1:3306/duomao?useUnicode=true&characterEncoding=utf-8
8 user=root
9 password=**********

 

关于useUnicode和charsetEncoding(duomao为数据库的名称)

1. 存数据时:

     数据库在存放项目数据的时候会先用UTF-8格式将数据解码成字节码,然后再将解码后的字节码重新使用GBK编码存放到数据库中。

2.取数据时:

     在从数据库中取数据的时候,数据库会先将数据库中的数据按GBK格式解码成字节码,然后再将解码后的字节码重新按UTF-8格式编码数据,最后再将数据返回给客户端。

读取配置文件和进行连接操作:

创建一个工具包,可以重复的使用:

大概的流程:

1:使用Properties来读取配置文件

2:加载驱动

3:获得连接conn=DriverManager.getConnection(url, username, password);

4:使用完毕后记得使用.close方法来关闭数据库的连接!

 1 import java.io.FileReader;
 2 import java.io.IOException;
 3 import java.io.Reader;
 4 import java.sql.Connection;
 5 import java.sql.DriverManager;
 6 import java.sql.SQLException;
 7 import java.util.Properties;
 8 
 9 
10 public class DBUtil {
11     private static String driver;
12     private static String url;
13     private static String username;
14     private static String password;
15 
16     //读取配置文件中的内容
17     static{
18         Properties properties = new Properties();
19         Reader in;
20         try {
21             in = new FileReader("db.properties");
22             //load方法 从.properties属性文件对应的文件输入流中,加载属性列表到Properties类对象
23             properties.load(in);
24         } catch (IOException e) {
25             e.printStackTrace();
26         }
27         //将配置文件中的参数提取出来
28         driver = properties.getProperty("driver");
29         url = properties.getProperty("url");
30         username = properties.getProperty("username");
31         password = properties.getProperty("password");
32     }
33 
34     public static Connection open(){
35         try {
36             Class.forName(driver);
37             return DriverManager.getConnection(url, username, password);
38         } catch (ClassNotFoundException e) {
39             e.printStackTrace();
40         } catch (SQLException e) {
41             e.printStackTrace();
42         }
43         return null;
44     }
45 
46     public static void close(Connection conn){
47         if(conn != null){
48             try {
49                 conn.close();
50             } catch (SQLException e) {
51                 e.printStackTrace();
52             }
53         }
54     }
55 }

 

jdbc连接数据库工具包模板