JDBC之封装通用的BaseDao
生活随笔
收集整理的這篇文章主要介紹了
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JDBC之在分层结构中实现业务
- 下一篇: 使用HTML完成简历