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
35
36 }

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 }
37
38
39
40
41
42
43
44 package com.beiwo.epet.dao;
45
46 import com.beiwo.epet.entity.Master;
47
48 public interface MasterDao extends BaseDao{
49
50     /**
51      *
52      * @param loginId 用户名
53      * @param password 密码
54      * @return Master
55      */
56     public Master findMasterByLoginIdAndPassword(String loginId,String password);
57
58 }

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
18
19
20
21 package com.beiwo.epet.dao;
22
23 import com.beiwo.epet.entity.Master;
24
25 public interface MasterDao extends BaseDao{
26
27     /**
28      *
29      * @param loginId 用户名
30      * @param password 密码
31      * @return Master
32      */
33     public Master findMasterByLoginIdAndPassword(String loginId,String password);
34
35 }

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
10 }

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
26         Master master=masterService.login(loginId, password);
27
28         if(null!=master){
29             System.out.println("登陆成功");
30         }else{
31             System.out.println("登陆失败");
32         }
33
34
35
36     }
37
38
39 }

转载于:https://www.cnblogs.com/lanyinhao/p/6181946.html

创建DAO模式的步骤相关推荐

  1. 如何创建MFC模式对话框与非模式对话框

    一.什么是模式对话框与非模式对话框: 简单的来说,模式对话框就是一种当子窗口未关闭时父窗口就无法被激活(也就是处于无法操作状态)的一种窗口.非模式对话框就是当子窗口未关闭时,父窗口依然能被操作的一种窗 ...

  2. JDBC之二:DAO模式

    JDBC之二:DAO模式 @(JAVA)[java] 详细代码请参见 https://github.com/lujinhong/dao 一.前期准备 1.创建数据库 create database f ...

  3. java 关于JDBC和DAO模式使用

    JDBC(全称:Java Data Base Connectivity)是java数据库连接简称 ,提供连接各种数据库的能力 JDBC API主要的功能: 与数据库建立连接 执行SQL语句 处理结果 ...

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

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

  5. mysql实现宠物主人登陆的数据访问_使用DAO模式开发宠物管理系统

    http://www.cnblogs.com/hellokitty1/p/4489213.html 宠物有狗和企鹅. 狗的属性有:编号.名称.亲密值.健康值.品种.所属主人编号. 企鹅的属性有:编号. ...

  6. 七大设计原则与设计模式(创建型模式、结构型模式、行为型模式)

    七大设计原则 开闭原则.依赖倒置原则.单一职责原则.接口隔离原则.迪米特法则(最少知道原则).里氏替换原则.合成 (组合).聚合复用原则 开闭原则 定义: 一个软件实体如类.模块和函数应该对扩展开放, ...

  7. DAO模式设计-JDBC连接Mysql数据库实现增删改查及JunitTest单元测试

     概念介绍 JDBC JDBC(Java数据库连接,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC ...

  8. 【设计模式】三大类:创建型模式、结构型模式、行为型模式

    1 创建型模式 本人理解:以C++为例,创建对象时,用关键字new来创建(实例化)对象.用一个函数或类将new的过程封装起来,就是创建型模式. <设计模式>中的描述: 创建型模式抽象了实例 ...

  9. 设计模式之创建型模式

    2019独角兽企业重金招聘Python工程师标准>>> 随着对软件工程研究的不断深入,设计模式也越来越多了,根据其目的准则,划分如下: 1. 创建型:creational 与对象的创 ...

最新文章

  1. 适用于SharePoint 2013 的 CAML Desinger
  2. linux编程之GDB调试
  3. android中自适应布局教程,Android自适应布局设计技巧
  4. Python + Selenium 练习篇 - 获取页面所有邮箱
  5. sizeof 的结果取决于什么
  6. 采用Flume实时采集和处理数据
  7. web开发常用工具介绍
  8. 设置随机种子之后,网络训练结果仍然不同的解决方法(针对随机采样的数据集)torch设置随机种子,num_worker对数据采样的影响。
  9. SpringMVC_04 拦截器 【拦截器的编程步骤】【session复习?】
  10. 2018顺丰视觉岗笔试几个知识点
  11. Net设计模式实例之桥接模式( Bridge Pattern)(1)
  12. aix java 7下载_aix系统安装 jdk 1.7
  13. nrf52840蓝牙协议栈主机BLE串口
  14. 锁定计算机后如何显示文字,我的电脑图标和文字后面有拖影怎么去掉
  15. python 图像手绘效果展示
  16. 网易公开课中英字幕文件合并代码
  17. 优化jsj脚本,防止浏览器卡死
  18. 智能语音对话处理过程
  19. 名帖204 蔡襄 行书《行书帖选》
  20. 东北大学软件项目管理与过程改进复习提纲(2020)——第八章《项目质量管理》

热门文章

  1. 考虑线程安全的List集合选择
  2. 阿里在数据库智能优化路上_做了哪些探索与实践?
  3. C语言 day07 基础知识学习
  4. 抓取WiFi空口包的方式总结
  5. html封套成exe,一种使用方便的封套的制作方法
  6. 网页设计初了解-基础知识篇
  7. 电报与二极管三极管的出现
  8. 路由器 刷 linux系统版本,一个小型的无线路由器 Linux 系统OpenWRT[转]
  9. prepay id为空php,微信公众号支付踩坑笔记
  10. el-table合计