第一种就是直接写连接
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnDB {
public Connection GetConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/guyongbing";
String username = "root";
String password = "root";
conn = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
第二种是:
public class ConnDB {
public Connection conn = null;
public Statement stmt = null;
public ResultSet rs = null;
private static String propFileName = "connDB.properties";
private static Properties prop = new Properties();
private static String dbClassName = "com.mysql.jdbc.Driver";
private static String dbUrl = "jdbc:mysql://127.0.0.1:33006/db?user=root&password=root&useUnicode=true";
public ConnDB() {
try {
InputStream in = getClass().getResourceAsStream(propFileName);
prop.load(in);//通过输入流对象加载properties
dbClassName = prop.getProperty("DB_CLASS_NAME");
dbUrl = prop.getProperty("DB_URL", dbUrl);
} catch (IOException e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(dbClassName).newInstance();
conn = DriverManager.getConnection(dbUrl);
} catch (Exception ee) {
ee.printStackTrace();
}
if (conn == null) {
System.out
.println("警告:DriverManager.getConnection()获得数据库连接失败.\r\n连接类型:"
+ dbClassName + "\r\n连接位置" + dbUrl);
}
return conn;
}
两种方式其实一样,只不过第二种是利用class类中的静态方法forname(),加载要使用的Driver,将Driver的名称的字符串当做class对象,
通过newInstance();方法可以建立此class对象的一个新实例。
方面更加方便程序移植。不过第二种方法需要建立一个connDB.properties文件,内容就两句话
DB_CLASS_NAME=com.mysql.jdbc.Driver
DB_URL=jdbc:mysql://127.0.0.1:3306/db_9griddiary?user=root&password=root&useUnicode=true