由于好久没手动编写简单的数据库连接,今天想做个小例子测试下
发现有个问题 :-)
请看一段代码:
...
/**MYSQL 驱动*/
public static final String MYSQL_DRIVER = "com.mysql.jdbc.Driver";
/**MYSQL URL*/
public static final String MYSQL_URL = "jdbc:mysql://127.0.0.1:3306/ben_test?useUnicode=true&characterEncoding=utf-8";
/**MYSQL 用户名*/
public static final String MYSQL_US = "root";
/**MYSQL 密码*/
public static final String MYSQL_PASS="root";
/**
* 获取MYSQL连接
* @return Connection
*/
public Connection getMySQLConn(){
Connection conn = null;
try {
Class.forName(MYSQL_DRIVER);
conn = DriverManager.getConnection(MYSQL_URL, MYSQL_US, MYSQL_PASS);
} catch (Exception e) {}
return conn;
}
...
大家都知道 Class.forName(...); 这个是注册驱动如果没它还会报错呢
研究下 ...
原来使用static藏在代码里 :-)
package com.mysql.jdbc;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Driver extends NonRegisteringDriver implements java.sql.Driver {
public Driver() throws SQLException{
}
static {
try {
DriverManager.registerDriver(new Driver());
} catch(SQLException e) {
throw new RuntimeException("Can't register driver!");
}
}
}
明白了吧 呵呵```
知道原理 大家就可以尽情发挥了 就不多说了 :-)