首先可以设置一个项目名称:DAOProject,并且由于此项目需要使用数据库,需要为其配置好驱动程序。
请保证数据库已经打开监听与实例化服务。
右键项目->属性,添加数据库的驱动
为了方便进行程序的统一管理,所有项目的父包名称统一设置为:cn.mldn。而子包要根据不同的功能模块进行划分。
数据库连接类
本次的操作既然要对数据库进行开发,那么就必须进行数据库的连接取得与关闭才可以正常操作,那么几乎所有的数据库的连接操作都是固定的步骤,那么定义一个DatabaseConnection类,这个类主要负责数据库的连接对象取得以及关闭的操作。既然是一个专门用于数据库的连接操作,那么可以将其保存dbc子包中。
范例:定义数据库的连接类
Database.Connection.java
```
package cn.mldn.dbc;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
/**
*
* @author Joker
* 本类专门负责数据库的连接与关闭操作,在实例化本类对象时就意味着要进行数据库的开发<br>
* 所以在本类的构造方法要进行数据库驱动加载与数据库连接取得
*/
public class DatabaseConnection {
private static final String DBDRIVER = "com.mysql.jdbc.Driver";
private static final String DBURL = "jdbc:mysql://localhost:3306/mysql1";
private static final String DBUSER = "root";
private static final String PASSWORD = "111111";
private Connection conn = null;
/**
* 在构造方法里面为conn对象进行实例化,可以直接取得数据库的连接对象
*
*/
public DatabaseConnection() {
try {
//JDBC规范要求Driver类在使用前必须向DriverManger注册自己。
//注册过程在Driver类的静态类已经实现。也就是说只要类被加载,就完成了向驱动管理器的注册。
Class.forName(DBDRIVER);
this.conn = (Connection) DriverManager.getConnection(DBURL,DBUSER,PASSWORD);
} catch(Exception e) {
e.printStackTrace();
}
}
/**
*
* 取得一个数据库的连接对象
* Connection实例化对象
*/
public Connection getConnection() {
return this.conn ;
}
/**
* 负责数据库的关闭
*/
public void close() {
if (this.conn != null) {
try {
this.conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
整个的操作过程之中,DatabaseConnection只是无条件的提供有数据库连接,而至于说有多少个线程需要找到此类要连接对象,它都不关心。
额外话题:从最早的DAO设计模式来讲实际上还会考虑到一个问题,多数据库间的移植问题。
此时就需要设置一个专门的表示连接标准的接口。
考虑到现实的开发之中,所提供的第三方框架平台越来越完善,所以以上的复杂设计几乎就被慢慢忽略到了。