//java类名BaseDao
public class BaseDao {
private Connection conn = null; // 声明Connection对象,Connection接口用于建立与特定数据库的连接,私有private只能在本类调用
// 连接数据库的构造方法, 1加载驱动, 2建立连接, 3使用sql语句进行数据库操作, 4释放资源。
// (1)构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有;//
// (2)构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。
// (3)每个类可以有零个或多个构造方法;(4)不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。
// (5)构造方法在创建对象时自动执行,一般不能显式地直接调用。
public BaseDao() {
String driver = "com.mysql.jdbc.Driver"; // mysql数据库驱动程序,这里可以换成你要的其他数据库驱动程序
// try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 }
try {
/*
* Class.forName方法的作用,就是初始化给定的类.
* 而我们给定的MySQL的Driver类中,它在静态代码块中通过JDBC的DriverManager注册了一下驱动.
* 我们也可以直接使用JDBC的驱动管理器注册mysql驱动.从而代替使用Class.forName.
*/
Class.forName(driver); // 加载驱动程序
// 指定的数据库连接URL地址,数据库名,编码格式
String url = "jdbc:mysql://localhost:3306/dev?characterEncoding=UTF-8";
conn = DriverManager.getConnection(url, "root", "");// 获取连接对象,地址,用户名,密码
System.out.println("连接mysql数据库成功");// 控制台输出
// catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 }
} catch (Exception e) {
// 这将捕获任何发生的异常。另外,还提供e参数,可以在处理异常时使用e参数来获得有关异常的信息。
e.printStackTrace();
} finally {// finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行
// finally }
// 释放资源,conn.close;
}
}
}