为了避免在每一个DAO中都需要自行连接connection,有多个DAO里都需要获取数据库的连接,并且在很多项目中都是一样的数据库连接。
所以就可以把获取数据库连接的代码重构到一个类里。
这样做的好处是有两个:
1. 不需要DAO里分别进行编写,直接调用就可以了
2. 如果账号密码发生了变化,值需要修改这一个地方,而不用每个DAO里就分别修改, 降低了维护成本,也降低了因为忘记修改而出错的概率
下面给出通用的连接方式
1 package com.hone.util; 2 3 import java.sql.DriverManager; 4 import java.sql.SQLException; 5 6 import com.mysql.jdbc.Connection; 7 8 /** 9 * 10 * @author Xia 11 */ 12 13 public class DBUtil { 14 public static String ip = "127.0.0.1"; 15 public static int port = 3306 ; 16 public static String database = "hutubill"; 17 public static String encoding = "UTF-5"; 18 public static String loginName = "root"; 19 public static String passWord = "931105"; 20 21 //驱动初始化放在了静态初始化块里,因为这行代码需要先执行,而且只需要执行一次就足够了。 22 static{ 23 try { 24 Class.forName("com.mysql.jdbc.Driver"); 25 } catch (ClassNotFoundException e) { 26 e.printStackTrace(); 27 } 28 } 29 30 public static java.sql.Connection getConnection() throws SQLException{ 31 String url = String.format("jdbc:mysql://%s:%d/%s?characterEncoding=%s", ip, port, database, encoding); 32 return DriverManager.getConnection(url, loginName, passWord); 33 } 34 }