欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

dao設(shè)計(jì)模式對(duì)mysql的crud

老白2年前12瀏覽0評(píng)論

在開發(fā)中,數(shù)據(jù)訪問(Data Access)是一個(gè)必不可少的部分。而數(shù)據(jù)訪問最常用的關(guān)系數(shù)據(jù)庫中操作(增刪改查)的代碼實(shí)現(xiàn)就是mysql語句的CRUD。針對(duì)這種情況,我們可以采用Dao設(shè)計(jì)模式來進(jìn)行管理。

Dao(數(shù)據(jù)訪問對(duì)象)設(shè)計(jì)模式是一種結(jié)構(gòu)性模式,它并不單指數(shù)據(jù)庫操作,同時(shí)可以應(yīng)用到各種數(shù)據(jù)源的操作中。這種模式分離了數(shù)據(jù)訪問邏輯和業(yè)務(wù)邏輯,其思路可以類比于JDBC API的思想。

對(duì)于mysql的CRUD,可以按照如下的流程進(jìn)行Dao類的設(shè)計(jì)和編寫:

/**
 * Dao類命名規(guī)則:實(shí)體類名+Dao
 * 如:Student實(shí)體類對(duì)應(yīng)的Dao類名為StudentDao
 */
public class StudentDao {
/**
* 添加學(xué)生信息
* @param student 學(xué)生實(shí)體類
* @return 添加成功返回1,失敗返回0
*/
public int add(Student student) {
String sql = "INSERT INTO Student(name, age, sex) VALUES(?, ?, ?)";
Object[] params = {student.getName(), student.getAge(), student.getSex()};
return DBUtil.executeUpdate(sql, params);
}
/**
* 刪除學(xué)生信息
* @param id 學(xué)生id
* @return 刪除成功返回1,失敗返回0
*/
public int delete(int id) {
String sql = "DELETE FROM Student WHERE id=?";
Object[] params = {id};
return DBUtil.executeUpdate(sql, params);
}
/**
* 修改學(xué)生信息
* @param student 學(xué)生實(shí)體類
* @return 修改成功返回1,失敗返回0
*/
public int update(Student student) {
String sql = "UPDATE Student SET name=?, age=?, sex=? WHERE id=?";
Object[] params = {student.getName(), student.getAge(), student.getSex(), student.getId()};
return DBUtil.executeUpdate(sql, params);
}
/**
* 查詢所有學(xué)生信息
* @return 所有學(xué)生信息數(shù)據(jù)集合
*/
public ListqueryAll() {
String sql = "SELECT * FROM Student";
Object[] params = {};
return DBUtil.executeQuery(sql, params, Student.class);
}
/**
* 根據(jù)id查詢學(xué)生信息
* @param id 學(xué)生id
* @return 學(xué)生信息
*/
public Student queryById(int id) {
String sql = "SELECT * FROM Student WHERE id=?";
Object[] params = {id};
return DBUtil.uniqueQuery(sql, params, Student.class);
}
}

以上是一個(gè)學(xué)生信息的Dao類代碼實(shí)現(xiàn),其中add、delete、update、queryAll和queryById方法分別對(duì)應(yīng)增、刪、改、查和根據(jù)id查詢操作。最后,我們使用DBUtil工具類進(jìn)行數(shù)據(jù)庫訪問操作。

通過Dao設(shè)計(jì)模式的應(yīng)用,不僅可以有效地分離數(shù)據(jù)訪問邏輯和業(yè)務(wù)邏輯,使得代碼更加可維護(hù),還有助于提高代碼的復(fù)用性和安全性。