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. jsp连接SQL Server数据库的方式

    方式1:JDBC连接方式 Connection conn = null; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDrive ...

  2. quick sort 的简化实现

    Pivot 随机选取意义不大 第一种方法使用随机pivot,使得尽可能平均二分序列,而实际上一般来说需要排序的集合往往是乱序的,无需重新生成随机数作为pivot,大可使用固定位置的数作为pivot,这 ...

  3. 前端中JSON对象和JSON字符串的相互转换

    资料来源: http://www.css88.com/archives/3919

  4. OpenGL观察轴

    旋转矩阵可以通过观察向量构造,观察向量可以是3D空间的两个或三个点.如果一个处于P1点的对象面向P2点,则观察向量就是P2-P1,如下图: 首先,前轴向量通过归一化的观察向量简单计算而来. 其次,左轴 ...

  5. floyd算法

    求两个顶点间的最短距离,直觉是这样的问题可以用尝试和枚举的办法来求解,这显然可行,但是我们可以换个方式来看待这个问题,比如, 可以这样描述,“在给定的点集(编号为1~k,k=图中所有的顶点数量)中,i ...

  6. ivy 配置 maven代理

    Ivy 是一个依赖管理工具,直观感受是其跟maven 的作用差不多:但这两个其实是不同的工具: maven 是面向整个项目的工程管理及构建工具:ivy 仅作为依赖管理工具,与ant 高度集成. 需要了 ...

  7. selenium元素操作

    1.文本框(text field or textarea) element.sendKeys("test");//在输入框中输入内容: element.clear(); //将输入 ...

  8. SSR三网免流一键包以及使用教程

    这篇文章只是传统的SSR免流教程 首先拿到一台vps,可以是centos,可以是debian,也可以是ubuntu 使用xshell连接vps 执行一键安装包 wget http://104.224. ...

  9. ORA-00907: 缺失右括号

    创建表时出现ORA-00907: 缺失右括号的情况 调整关键字的顺序 CREATE TABLE s_dept(ID PRIMARY KEY NOT NULL NUMBER(7),NAME NOT NU ...

  10. Chrome Devtools简介

    Chrome开发工具(又称DevTools),是一套内嵌在chrome浏览器内部的web编写和调试工具.DevTools提供给web开发人员深入地访问浏览器内部和web应用的机会.DevTools可以 ...