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

/*** */
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")){Emp											emp			=	 		(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")) {//添加部门	Dept											dept			=	 		(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")){Emp											emp			=	 		(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")) {//修改部门	Dept											dept			=	 		(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);ResultSet	rs				=		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语句Dept									dept			=			null;try {prams.add(id);ResultSet							rs					=			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 {ResultSet	rs				=		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语句Dept									dept			=			null;List<Dept>                      deptList		=			new ArrayList<Dept>();try {ResultSet							rs					=			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;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建consul 集群

上图是官网提供的一个事例系统图&#xff0c;图中的Server是consul服务端高可用集群&#xff0c;Client是consul客户端。consul客户端不保存数据&#xff0c;客户端将接收到的请求转发给响应的Server端。Server之间通过局域网或广域网通信实现数据一致性。每个Server或Client都…

Java类加载的那些事

转载自 Java类加载的那些事 前言 Java源代码被编译成class字节码&#xff0c;最终需要加载到虚拟机中才能运行。整个生命周期包括&#xff1a;加载、验证、准备、解析、初始化、使用和卸载7个阶段。 加载 1、通过一个类的全限定名获取描述此类的二进制字节流&#xff1b; …

JAVA集合(笔记)

集合简介 概念&#xff1a;对象的容器&#xff0c;定义了对多个对象进项操作的的常用方法。可实现数组的功能。和数组的区别&#xff1a; 数组长度固定&#xff0c;集合长度不固定。数组可以存储基本类型和引用类型&#xff0c;集合只能存储引用类型。 位置&#xff1a; jav…

部署kafka kafka的service容器和zookeeper kafka客户端 Elasticsearch的客户端

创建network docker network create -d overlay --attachable loc_net docker stack up -c kafka.yml kafka docker stack up -c kafdrop.yml kafdrop docker stack up -c els.yml els docker stack ls docker service ls 查看service的启动错误原因 docker service ps d…

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

/*** */ package org.dao.impl;import java.util.List;import org.dao.IDeptDao; import org.entity.Dept;/*** * * 项目名称&#xff1a;test_BaseDao * 类名称&#xff1a;DeptDaoImpl * 类描述&#xff1a; 部门的实现类* 创建人&#xff1a;Mu Xiongxiong * 创建…

公司技术需求备忘录

业务现状领导要求 1) 部署环境要求: 公有云&#xff0c;私有云&#xff0c;原有院内系统。三套环境&#xff0c;兼容部署&#xff0c;一套代码多环境支持。2) 数据库要求&#xff1a;sqlserver&#xff0c;orcale&#xff0c;mysql要兼容&#xff0c;一套代码多库运行。3) 性能…

equals 和 hashCode 到底有什么联系?一文告诉你

转载自 equals 和 hashCode 到底有什么联系&#xff1f;一文告诉你 写在前面 Java的基类Object提供了一些方法&#xff0c;其中equals()方法用于判断两个对象是否相等&#xff0c;hashCode()方法用于计算对象的哈希码。equals()和hashCode()都不是final方法&#xff0c;都可…

如何将Excel的单元格设置成下拉选项?-excel设置下拉菜单

https://www.qiaoshan022.cn/excel/excel14169.html 如何将Excel的单元格设置成下拉选项&#xff1f;-excel设置下拉菜单 作者&#xff1a;乔山办公网日期&#xff1a;2019-09-24 21:13:23 返回目录&#xff1a;excel表格制作 在用Excel表录入数据时&#xff0c;有时需要限制…

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

/** * Title: EmpDaoImpl.java * Package org.dao.impl * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-9-10 下午8:29:32 * version V1.0 */ package org.dao.impl;import java.util.List;import org.dao.IEmpDao; i…

写一个高性能的敏感词检测组件

最近写了一个高性能的敏感词检测组件【ToolGood.Words】。 一、高性能&#xff0c;它的效率到底有多快&#xff1f; 如果将正则表达式的算法效率设为1&#xff0c;高性能可达到正则表达式的1.5万倍。 二、选一个巧妙的算法&#xff1a; AC自动机&#xff08;Aho-Corasick Autom…

JAVA正则表达式 Pattern和Matcher

转载自 JAVA正则表达式 Pattern和Matcher java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 1.简介&#xff1a; java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类&#xff1a;Pattern和Match…

win10系统excel2019单元格显示完整的年月日时分秒设置方法

https://www.pianshen.com/article/88671983757/ win10系统excel2019单元格显示完整的年月日时分秒设置方法 技术标签&#xff1a; Windows excel显示年月日时分秒 excel显示完整的详细时间 excel2019显示完整时间 excel2019显示具体时间 excel显示具体的时间 描述&#…

字符VS字节

什么是字节 字节是指一小组相邻的二进制数码。通常是8位作为一个字节。它是构成信息的一个小单位&#xff0c;并作为一个整体来参加操作&#xff0c;比字小&#xff0c;是构成字的单位。 字节(Byte) 是一种计量单位&#xff0c;表示数据量的多少&#xff0c;它是计算机信息技术…

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

/*** */ package org.service;import java.util.List;import org.entity.Dept;/*** author muxiongxiong**/ public interface IDeptService {/*** * Description: 该方法的主要作用&#xff1a;添加部门信息* Title: save* param param dept* param param tag* param retur…

Visual Studio现可使用EditorConfig

Visual Studio 2017的首个候选发布版&#xff08;VS2017RC&#xff09;中提供了支持EditorConfig标准的特性。秉承该标准可使开发人员一次性地定义一种编码风格&#xff0c;即可轻易地在不同的编辑器中使用该风格。另一显著优点是对于在EditorConfig文件中定义的风格&#xff0…

分库分表的事务处理机制

转载自 分库分表的事务处理机制 分布式事务 由于我们将单表的数据切片后存储在多个数据库甚至多个数据库实例中&#xff0c;所以依靠数据库本身的事务机制不能满足所有场景的需要。但是&#xff0c;我们推荐在一个数据库实例中的操作尽可能使用本地事务来保证一致性&#xff0…

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

/** * Title: IEmpService.java * Package org.service * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-9-10 下午8:28:15 * version V1.0 */ package org.service;import java.util.List;import org.entity.Emp;/** …

如何优雅的使用RabbitMQ

RabbitMQ无疑是目前最流行的消息队列之一&#xff0c;对各种语言环境的支持也很丰富&#xff0c;作为一个.NET developer有必要学习和了解这一工具。消息队列的使用场景大概有3种&#xff1a; 1、系统集成&#xff0c;分布式系统的设计。各种子系统通过消息来对接&#xff0c;这…

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

/*** */ package org.service.impl;import java.util.List;import org.dao.IDeptDao; import org.dao.impl.DeptDaoImpl; import org.entity.Dept; import org.service.IDeptService;/*** * * 项目名称&#xff1a;test_BaseDao * 类名称&#xff1a;DeptServiceImpl …