电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Java-DAO设计模式介绍

77页
  • 卖家[上传人]:Baige****0346
  • 文档编号:263372737
  • 上传时间:2022-03-09
  • 文档格式:DOCX
  • 文档大小:2.15MB
  • / 77 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 Java DAO设计模式 清楚了业务层和数据层的区别后, 下面以Oracle数据库中的scott.emp数据表( empno、ename、job 、hiredate、sal、comm等基本字段)为例分析个操作。在该操作中, 客户要求可以实现以下6个功能;开发:1.项目准备首先可以设置一个项目名称:DAOProject,并且由于此项目需要使用Oracle数据库,需要为其配置好数据库的驱动程序2.数据库连接类本次的操作既然要进行数据库的开发,那么就必须进行数据库的连接取得与关闭才可以正常操作,那么几乎所有的数据库代码都是固定的步骤那么就可以单独定义一个DatabaseConnection类,这个类主要负责数据库的连接取得以及数据库的关闭操作public class DatebaseConnection private static final String DBDRIVER=oracle.jdbc.driver.OracleDriver; private static final String DBURL=jdbc:oracle:thin:localhost:1521:mldn; pri

      2、vate static final String DBUSER=admin; private static final String PASSWORD=123456; private Connection conn=null; public DatebaseConnection() try Class.forName(DBDRIVER); this.conn=DriverManager.getConnection(DBURL,DBUSER,PASSWORD); catch(Exception e) e.printStackTrace(); /取得数据库的连接对象,返回Connection类实例化对象 public Connection getConnection() return this.conn; public void close() if(this.conn!=null) try this.conn.close(); catch(SQLException e) e.printStackTrace(); 3.开发Value Object现在的程序严格来讲已经给出了四个层次,不同层

      3、次之间一定进行数据的传递但是既然要操作的是指定的数据表,所以数据的结构必须要与表的结构一一对应,那么自然就可以想到简单java类(po,to,pojo,vo)在实际的工作之中,针对于简单Java类的开发给出如下的要求:考虑到日后程序又可能出现的分布式应用问题,所以简单java类必须要实现java.io.Serializable接口简单Java类的名称必须与表名称保存一致有可能采用这样的名字student_info,类名称为StudentInfo类中的属性不允许使用基本数据类型,都必须使用基本数据类型的包装类基本数据类型的数值型默认值是0,而如果是包装类默认值就是null类中的属性必须封装,封装后的属性必须提供有setter,getter方法类中可以定义有多个构造方法,但是必须保留有一个无参构造方法【可选要求,基本不用】覆盖equals(),toString(),hashCode()将所有的简单Java类保存在vo包中定义Emp.javapublic class Emp implements Serializable private Integer empno; private Stri

      4、ng ename; private String job; private Date hiredate; private Double sal; private Double comm; private Emp mgr; private Dept dept; public void setDept(Dept dept) this.dept=dept; public void setMgr(Emp mgr) this.mgr=mgr; public Dept getDept() return dept; public Emp getMgr() return mgr; public Integer setEmpno(Integer empno) this.empno=empno; public void getEmpno() return empno; public String setEname(String ename) this.ename=ename; public void getEname() return ename; public String setJob(String

      5、job) this.job=job; public void getJob() return job; public Date setHiredate(Date hiredate) this.hiredate=hiredate; public void getHiredate() return hiredate; public Date setSal(Double sal) this.sal=sal; public void getSal() return sal; public Date setComm(Double comm) m=comm; public void getComm() return comm; /只要是实体表就要写简单Java类4.开发数据层数据层最终是交给业务层进行调用的,所以业务层必须知道数据层的执行标准即:业务层需要明确的知道数据层的操作方法,但是不需要知道它的具体实现开发数据层操作标准不同层之间如果要进行访问,那么必须要提供有接口,以定义操作标准,那么对于数据层也是一样的,数据层最终要交给业务层执行,所以需要先定义数据层接口对于数据层的接口给出如下的开发要

      6、求:数据层既然是进行数据操作的,那么就将其保存在包下既然不同的数据表的操作有可能使用不同的数据层开发,那么就针对于数据表进行命名emp表,那么数据层的接口就应该定义为IEmpDAO对于这数据层的开发严格来讲就只有两类功能数据更新:建议操作方法为doXxx()的形式命名,例如doCreate(),doUpdate(),doRemove()数据查询:对于查询分为两种形式查询表中数据,以findXxx()形式命名,例如:findById(),findByName(),findAll()统计表中的数据:以getXxx()形式命名,例如:getAllCount()定义IEmpDAO接口/定义emp表的数据层的操作标准public interface IEmpDAO /* *实例数据的增加操作 vo包含了更新加载数据的vo对象 数据保存成功返回true,否则返回false Exception SQL执行异常 */ public boolean doCreate(Emp vo)throws Exception; /*实现数据的修改操作,本次修改时根据id进行全部字段数据的修改 vo包含了要修改数据的

      7、信息,一定要提供有ID内容 数据保存成功返回true,否则返回false Exception SQL执行异常 */ public boolean doUpdate(Emp vo)throws Exception; /* 执行数据的批量删除操作,所以要删除的数据以Set集合的形式保存 ids包含了所有要删除的数据ID,不包含有重复内容 数据保存成功返回true(删除的数据个数与要删除的数据个数相同),否则返回false Exception SQL执行异常 */ public boolean doRemoveBatch(Set ids)throws Exception; /* 根据雇员编号查询指定的雇员信息 id要查询的雇员编号 如果雇员信息存在,则将数据以VO类对象的形式返回,如果雇员数据不存在,则返回null Exception SQL执行异常 */ public Emp findById(Integer id)throws Exception; /* 查询指定数据表的全部记录,并且以集合的形式返回 如果表中有数据,则所有的数据会封装为VO对象而后利用List集合返回, 如果没有数据,那么集合的长度为0(size()=0,不是null) Exception SQL执行异常 */ public List findAll() throws Exception; /* 分页进行数据的模糊查询,查询结果以集合的形式返回 currentPage当前所在的页 lineSize 显示数据行数 column 要进行模糊查询的数据列 keyWord 模糊查询的关键字 如果表中有数据,则所有的数据会封装为VO对象而后利用List集合返回, 如果没有数据,那么集合的长度为0(size()=0,不是null) Exception SQL执行异常 */ public List findAllSplit(Intger currentPage,Integer lineSize,String column,String keyWord) throws Exception; /* 进行模糊查询数据量的统计,如果表中没有记录统计的结果就是0 column 要进行

      《Java-DAO设计模式介绍》由会员Baige****0346分享,可在线阅读,更多相关《Java-DAO设计模式介绍》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.