1.建立数据库epet 2.创建实体类,和相对应的数据库是对应的 3.创建Dao的基类接口类BaseDao 4.创建Dao的实现类BaseDaoImpl 5.创建具体表的Dao类

6.创建具体表的Dao实现类 7.创建业务逻辑层级的接口类PetService 8.创建业务逻辑层的接口实现类:PetServiceImpl  9.创建测试类

下面写一个登录的操作用DAO模式:

1.创建实体类:人的实体类

  1. package com.beiwo.epet.entity;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class Master implements Serializable{
  6.  
  7. private static final long serialVersionUID = -975099318646595542L;
  8.  
  9. private int id;
  10. private String loginId;
  11. private String password;
  12. public int getId() {
  13. return id;
  14. }
  15. public void setId(int id) {
  16. this.id = id;
  17. }
  18. public String getLoginId() {
  19. return loginId;
  20. }
  21. public void setLoginId(String loginId) {
  22. this.loginId = loginId;
  23. }
  24. public String getPassword() {
  25. return password;
  26. }
  27. public void setPassword(String password) {
  28. this.password = password;
  29. }
  30. public static long getSerialversionuid() {
  31. return serialVersionUID;
  32. }
  33.  
  34. }

2.接口类的基类:

  1. package com.beiwo.epet.entity;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class Master implements Serializable{
  6.  
  7. private static final long serialVersionUID = -975099318646595542L;
  8.  
  9. private int id;
  10. private String loginId;
  11. private String password;
  12. public int getId() {
  13. return id;
  14. }
  15. public void setId(int id) {
  16. this.id = id;
  17. }
  18. public String getLoginId() {
  19. return loginId;
  20. }
  21. public void setLoginId(String loginId) {
  22. this.loginId = loginId;
  23. }
  24. public String getPassword() {
  25. return password;
  26. }
  27. public void setPassword(String password) {
  28. this.password = password;
  29. }
  30. public static long getSerialversionuid() {
  31. return serialVersionUID;
  32. }
  33.  
  34. }
  35.  
  36. package com.beiwo.epet.dao;
  37.  
  38. import com.beiwo.epet.entity.Master;
  39.  
  40. public interface MasterDao extends BaseDao{
  41.  
  42. /**
  43. *
  44. * @param loginId 用户名
  45. * @param password 密码
  46. * @return Master
  47. */
  48. public Master findMasterByLoginIdAndPassword(String loginId,String password);
  49.  
  50. }

3.接口类的基类的实现类

  1. package com.beiwo.epet.dao;
  2.  
  3. import com.beiwo.epet.entity.Master;
  4.  
  5. public interface MasterDao extends BaseDao{
  6.  
  7. /**
  8. *
  9. * @param loginId 用户名
  10. * @param password 密码
  11. * @return Master
  12. */
  13. public Master findMasterByLoginIdAndPassword(String loginId,String password);
  14.  
  15. }
  16.  
  17. package com.beiwo.epet.dao;
  18.  
  19. import com.beiwo.epet.entity.Master;
  20.  
  21. public interface MasterDao extends BaseDao{
  22.  
  23. /**
  24. *
  25. * @param loginId 用户名
  26. * @param password 密码
  27. * @return Master
  28. */
  29. public Master findMasterByLoginIdAndPassword(String loginId,String password);
  30.  
  31. }

4.创建业务逻辑层级的接口类PetService

  1. package com.beiwo.epet.service;
  2.  
  3. import com.beiwo.epet.entity.Master;
  4.  
  5. public interface MasterService {
  6.  
  7. public Master login(String loginId,String password);
  8.  
  9. }

5.创建业务逻辑层的接口实现类

  1. package com.beiwo.epet.service.impl;
  2.  
  3. import com.beiwo.epet.dao.MasterDao;
  4. import com.beiwo.epet.dao.impl.MasterDaoImpl;
  5. import com.beiwo.epet.entity.Master;
  6. import com.beiwo.epet.service.MasterService;
  7.  
  8. public class MasterServiceImpl implements MasterService{
  9.  
  10. @Override
  11. public Master login(String loginId, String password) {
  12. MasterDao masterDao=new MasterDaoImpl();
  13. return masterDao.findMasterByLoginIdAndPassword(loginId, password);
  14. }
  15.  
  16. }

6.测试类:

  1. package com.beiwo.epet.test;
  2.  
  3. import java.util.Scanner;
  4.  
  5. import org.junit.Test;
  6.  
  7. import com.beiwo.epet.entity.Master;
  8. import com.beiwo.epet.service.MasterService;
  9. import com.beiwo.epet.service.impl.MasterServiceImpl;
  10.  
  11. public class TestMasterDao {
  12.  
  13. @Test
  14. public void testLogin(){
  15. MasterService masterService=new MasterServiceImpl();
  16.  
  17. Scanner input=new Scanner(System.in);
  18.  
  19. System.out.println("请输入用户名:");
  20. String loginId=input.nextLine().trim();//去掉两端的空格
  21.  
  22. System.out.println("请输入密码:");
  23. String password=input.nextLine().trim();
  24.  
  25. Master master=masterService.login(loginId, password);
  26.  
  27. if(null!=master){
  28. System.out.println("登陆成功");
  29. }else{
  30. System.out.println("登陆失败");
  31. }
  32.  
  33. }
  34.  
  35. }

创建DAO模式的步骤的更多相关文章

  1. DAO模式设计步骤

    1.DAO 全称是data access object,数据库访问对象,主要的功能就是用于进行数据操作的,在程序的标准开发架构中属于数据层的操作. 2.分成架构 企业分层架构 客户层:因为现在都采用了 ...

  2. jdbc之二:DAO模式

    详细代码请参见 https://code.csdn.net/jediael_lu/daopattern 1.创建Dao接口. package com.ljh.jasonnews.server.dao; ...

  3. 面向对象DAO模式

    DAO模式编写数据访问层代码步骤? 1.  接口 增.删.改.查的方法 方法的返回类型为泛型集合 Int rows=select语句的条数 If(rows>0) 方法的返回类型为泛型集合 If( ...

  4. 使用DAO模式开发宠物管理系统---hellokitty

    宠物有狗和企鹅. 狗的属性有:编号.名称.亲密值.健康值.品种.所属主人编号. 企鹅的属性有:编号.名称.亲密值.健康值.性别.所属主人编号. 该系统中主人可以领养宠物,主人的属性有:编号.用户名.密 ...

  5. DAO模式详解

    DAO模式 数据访问层(DAO): 数据的增.删.改.查操作: 业务逻辑层(service): 业务来往的操作,需要调用数据访问层则调用数据访问层,传递数据: 表现层(UI): 呈现数据,用户交互. ...

  6. jdbc之二:DAO模式 分类: B1_JAVA 2014-04-29 15:13 1536人阅读 评论(0) 收藏

    详细代码请参见 https://github.com/lujinhong/dao 一.前期准备 1.创建数据库 create database filter_conf; 2.创建表并插入数据 crea ...

  7. 【Java 新建项目】使用程序对新项目的各个实体 创建Dao、DaoImpl、Service、ServiceImpl层的文件

    首先给出基本Dao层代码: GenericDao.java package com.agen.dao; import java.io.Serializable; import java.util.Co ...

  8. 第26章 创建型模式大PK

    26.1 工厂方法模式 VS 建造者模式 26.1.1 按工厂方法建造超人 (1)产品:两类超人,成年超人和未成年超人. (2)工厂:这里选择简单工厂 [编程实验]工厂方法建造超人 //创建型模式大P ...

  9. Java Dao模式通过JDBC连接数据库的操作

    Java程序访问数据库: 1.获取数据库厂商提供的驱动(jdbc接口的实现类) 如ojdbc14.jar——Oracle数据库驱动jar包 mysql-connector-java-5.1.8-bin ...

随机推荐

  1. Windows 10 安装TA-Lib python库

    由于需要和朋友比对一个结果,需要在Windows 10中安装TA-Lib库,写点简单的python代码. 本来以为就简单的执行下pip install TA-Lib就OK了. 然后,安装失败: fat ...

  2. hiho一下21周 线段树的区间修改 离散化

    离散化 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho在回国之后,重新过起了朝7晚5的学生生活,当然了,他们还是在一直学习着各种算法~ 这天小Hi和小Ho ...

  3. 关于js代码中与或运算符||&&的妙用

    看bootstrap时看到如下一行JavaScript代码产生了疑惑. return window.pageYOffset || e.scrollTop ||在这里的作用是什么呢? 首先明确概念,在j ...

  4. 高效能人士必知铁律--note

    偶然看到了<高效能人士 必知铁律>这本书,我比较少看成功学,但是这本书把很多著名的成功学书籍整理出来,有时会让你耳目一新,有些观点尽管是常识,但是却加深了你对它们的理解,比如: 只要在积极 ...

  5. visual studio 的Error List 显示乱码

    复制到右键菜单如下: Severity Code Description Project File LineError 閿欒: 绋嬪簭鍖卌om.baidu.lbsapi.auth涓嶅瓨鍦? com. ...

  6. 视图(View) – ASP.NET MVC 4 系列

           精心编写的整洁代码是开发一个可维护 Web 应用程序的基础.但用户在浏览器中访问时,这些工作他们是看不见的.用户对应用程序的第一印象,以及与应用程序的整个交互过程都是从视图开始的.    ...

  7. 阿里云centos yum源更换,两个文件是从阿里云服务器拷贝出来的,可安装openvpn

    第一步:备份你的原镜像文件,以免出错后可以恢复. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.back ...

  8. Kylin(三): Saiku

    Saiku是一个轻量级的OLAP分析引擎,可以方便的扩展.嵌入和配置.Saiku通过REST API连接OLAP系统,利用其友好的界面为用户提供直观的分析数据的方式,它是基于jQuery做的前端界面. ...

  9. web三种跨域请求数据方法

    以下测试代码使用php,浏览器测试使用IE9,chrome,firefox,safari <!DOCTYPE HTML> <html> <head>     < ...

  10. [Linux] - 攻击查看与IP查封

    查看80端口的连接数 netstat -nat|grep -i "|wc -l 查看Nginx的日志命令 tail -f access.log 统计IP访问数 awk '{aaa[$1]++ ...