Servlet使用适配器模式进行增删改查案例(BaseDaoUtilImpl.java)

来源:互联网 发布:vue.js 日期格式化 编辑:程序博客网 时间:2024/06/18 04:17
/** *  */package org.dao.impl;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import org.dao.BaseDao;import org.entity.Dept;import org.entity.Emp;/** * *    * 项目名称:test_BaseDao   * 类名称:BaseDaoUtilImpl   ,继承BaseDao* 类描述:   公共的实现类* 创建人:Mu Xiongxiong  * 创建时间:2017-9-10 上午11:08:25   * 修改人:Mu Xiongxiong   * 修改时间:2017-9-10 上午11:08:25   * 修改备注:   * @version    * */public class BaseDaoUtilImpl<T> extends BaseDao  {/** * * @Description: 该方法的主要作用:添加数据(Emp和Dept的)* @Title: save* @param  @param entity   实体* @param  @param tag区分是Emp还是Dept* @param  @return 设定文件  * @return  返回类型:int   大于0成功,否则失败* @throws */public int save(T entity,String tag) {int rel=0;String sql="";List<Object> prams=new ArrayList<Object>();if(tag.equals("emp")){Empemp= (Emp) entity;//初始化Emp对象//添加员工sql="insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(?,?,?,?,to_date(?, 'YYYY-MM-DD   HH24:MI:SS '),?,?,?)";   //sql语句try {prams.add(emp.getEmpno());prams.add(emp.getEname());prams.add(emp.getJob());prams.add(emp.getMgr());prams.add(emp.getHiredate());prams.add(emp.getSal());prams.add(emp.getComm());prams.add(emp.getDeptno());rel=executeUpdate(sql, prams);} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally{closeConnnection();//关闭连接}return rel;}else if (tag.equals("dept")) {//添加部门Deptdept= (Dept) entity;//初始化Dept对象sql="insert into dept values(?,?,?)";   //sql语句try {prams.add(dept.getDeptno());prams.add(dept.getDname());prams.add(dept.getLoc()); rel=executeUpdate(sql, prams);} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally{closeConnnection();//关闭连接}return rel;}return 0;//此处执行不到,也可以写成return null;}/** * * @Description: 该方法的主要作用:修改数据* @Title: update* @param  @param entity* @param  @return 设定文件  * @return  返回类型:int   * @throws */public int update(T entity,String tag) {int rel=0;String sql="";List<Object> prams=new ArrayList<Object>();if(tag.equals("emp")){Empemp= (Emp) entity;//初始化Emp对象//修改员工sql="update emp set ename = ?,job=?,mgr=?,hiredate=to_date(?, 'YYYY-MM-DD   HH24:MI:SS ') ,sal=?,comm=?,deptno=? where empno=?";   //sql语句try {prams.add(emp.getEname());prams.add(emp.getJob());prams.add(emp.getMgr());prams.add(emp.getHiredate());prams.add(emp.getSal());prams.add(emp.getComm());prams.add(emp.getDeptno());prams.add(emp.getEmpno());rel=executeUpdate(sql, prams);} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally{closeConnnection();//关闭连接}return rel;}else if (tag.equals("dept")) {//修改部门Deptdept= (Dept) entity;//初始化Dept对象sql="update dept set dname=?,loc=? where deptno =?";   //sql语句try {prams.add(dept.getDname());prams.add(dept.getLoc());prams.add(dept.getDeptno()); rel=executeUpdate(sql, prams);} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally{closeConnnection();//关闭连接}return rel;}return 0;//此处执行不到,也可以写成return null;}/** * * @Description: 该方法的主要作用:删除数据* @Title: delete* @param  @param id* @param  @return 设定文件  * @return  返回类型:int   * @throws */public int delete(int id,String tag) {int rel=0;String sql="";List<Object> prams=new ArrayList<Object>();if(tag.equals("emp")){//删除员工sql="delete from emp where empno = ?";   //sql语句try {prams.add(id);rel=executeUpdate(sql, prams);} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally{closeConnnection();//关闭连接}return rel;}else if (tag.equals("dept")) {//删除部门sql="delete from dept where deptno =?";   //sql语句try {prams.add(id); rel=executeUpdate(sql, prams);} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally{closeConnnection();//关闭连接}return rel;}return 0;//此处执行不到,也可以写成return null;}/** * * @Description: 该方法的主要作用:根据编号查询* @Title: queryById* @param  @param id* @param  @return 设定文件  * @return  返回类型:T   * @throws */@SuppressWarnings("unchecked")public T queryById(int id,String tag) {String sql="";List<Object> prams=new ArrayList<Object>();if(tag.equals("emp")){//查询员工Emp emp=null;sql="select * from emp where empno = ?";   //sql语句try {prams.add(id);ResultSetrs=executeQuery(sql, prams);if(rs.next()){emp =new Emp();emp.setEmpno(rs.getInt(1));emp.setEname(rs.getString(2));emp.setJob(rs.getString(3));emp.setMgr(rs.getInt(4));emp.setHiredate(rs.getString(5));emp.setSal(rs.getFloat(6));emp.setComm(rs.getFloat(7));emp.setDeptno(rs.getInt(8));}} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally{closeConnnection();//关闭连接}return (T) emp;}else if (tag.equals("dept")) {//查询部门sql="select * from dept where deptno =?";   //sql语句Deptdept=null;try {prams.add(id);ResultSetrs=executeQuery(sql, prams);if(rs.next()){dept=new Dept();dept.setDeptno(rs.getInt(1));dept.setDname(rs.getString(2));dept.setLoc(rs.getString(3));}} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally{closeConnnection();//关闭连接}return (T)dept;}return null;//此处执行不到,也可以写成return null;}/** * * @Description: 该方法的主要作用:查询全部* @Title: queryAll* @param  @return 设定文件  * @return  返回类型:List<T>   * @throws */@SuppressWarnings("unchecked")public List<T> queryAll(String tag) {String sql="";if(tag.equals("emp")){//查询员工sql="select * from emp";   //sql语句Emp emp=null;List<Emp>                           empList=new ArrayList<Emp>();try {ResultSetrs=executeQuery(sql, null);while(rs.next()){emp =new Emp();emp.setEmpno(rs.getInt(1));emp.setEname(rs.getString(2));emp.setJob(rs.getString(3));emp.setMgr(rs.getInt(4));emp.setHiredate(rs.getString(5));emp.setSal(rs.getFloat(6));emp.setComm(rs.getFloat(7));emp.setDeptno(rs.getInt(8));empList.add(emp);}} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally{closeConnnection();//关闭连接}return (List<T>) empList;}else if (tag.equals("dept")) {//添加部门sql="select * from dept";   //sql语句Deptdept=null;List<Dept>                      deptList=new ArrayList<Dept>();try {ResultSetrs=executeQuery(sql, null);while(rs.next()){dept=new Dept();dept.setDeptno(rs.getInt(1));dept.setDname(rs.getString(2));dept.setLoc(rs.getString(3));deptList.add(dept);}} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally{closeConnnection();//关闭连接}return (List<T>)deptList;}return null;//此处执行不到,也可以写成return null;}}

阅读全文
0 0
原创粉丝点击