日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JDBC之封装通用的BaseDao

發布時間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDBC之封装通用的BaseDao 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JDBC之封裝通用的BaseDao


以上篇文章(JDBC之在分層結構中實現業務)為基礎,進行封裝更新操作;


一、持久層(數據訪問層)


在dao包下創建通用方法接口BaseDao

public interface BaseDao{public int executeUpdate(String sql , Object[] param); }

在dao.impl包下創建接口BaseDao的實現類;

import java.sql.Connection; import java.sql.ParameterMetaData; import java.sql.PreparedStatement;import com.bjsxt.commons.JdbcUtil; import com.bjsxt.dao.BaseDao;public class BaseDaoImpl implements BaseDao{//封裝通用的dml操作public int executeUpdate(String sql , Object[] param){Connection conn = null;PreparedStatement ps = null;int rows = 0;try{conn = JdbcUtil.getConnection(); conn.setAutoCommit(false);ps = conn.prepareStatement(sql);//得到參數的個數ParameterMetaData pmd = ps.getParameterMetaData();//綁定參數for(int i=0;i<pmd.getParameterCount();i++){ps.setObject(i+1,param[i]);}rows = ps.executeUpdate();conn.commit();}catch(Exception e){JdbcUtil.rollback(conn);e.printStackTrace();}finally{JdbcUtil.closeResource(ps,conn);}return rows; } }

讓DepartmentsDao接口繼承BaseDao接口,并添加更新數據的抽象方法;

public interface DepartmentsDao extends BaseDao {public int updateDept(Departments dept); }

讓DepartmentsDaoImpl繼承BaseDaoImpl類,并實現DepartmentsDao中的更新數 據的方法;

import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import com.bjsxt.commons.JdbcUtil; import com.bjsxt.dao.DepartmentsDao; import com.bjsxt.pojo.Departments;public class DepartmentsDaoImpl extends BaseDaoImpl implements DepartmentsDao{public int updateDept(Departments dept){String sql = "update departments set department_name = ? , location_id = ? where department_id = ? ";Object[] param = new Object[]{dept.getDepartmentName() , dept.getLocationId() , dept.getDepartmentId()};return this.executeUpdate(sql,param); } }

二、業務層


將service包下的DepartmentsService接口中添加更新數據的抽象方法;

import com.bjsxt.pojo.Departments;public interface DepartmentsService{public int modifyDepartments(Departments dept); }

將service.Impl包下的DepartmentsServiceImpl類,實現DepartmentsService中的更新數據方法;

import com.bjsxt.dao.DepartmentsDao; import com.bjsxt.dao.impl.DepartmentsDaoImpl; import com.bjsxt.pojo.Departments; import com.bjsxt.serivce.DepartmentsService;public class DepartmentsServiceImpl implements DepartmentsService{public int modifyDepartments(Departments dept){DepartmentsDao deptDao = new DepartmentsDaoImpl();return deptDao.updateDept(dept);} }

三、測試類


將部門id為52的部門改為“陸上部”地點ID為40;

public class Test{public static void main(String[] args){Departments dept = new Departments();dept.setDepartmentName("陸上部");dept.setLocationId(40);dept.setDepartmentId(52);DepartmentsService ds = new DepartmentsServiceImpl();int flag = ds.modifyDepartments(dept);System.out.println(flag);} } 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的JDBC之封装通用的BaseDao的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。