`

简单DAO层示例

阅读更多

在使用spring架构之前,我们怎么设计自己的DAO层的呢?

看下示例,比如我要保存User对象,那么运用工厂模式和单例模式来设计DAO层。

DAO层接口:

package com.lwf.dao;

public interface IBaseDao {

	void save(Object object);
}

 

DAO层接口实现,分MYSQL和ORACLE的实现

package com.lwf.dao;

public class BaseDao4MySql implements IBaseDao {

	public void save(Object object) {
		System.out.println("BaseDao4MySql");
	}

}

 

package com.lwf.dao;

public class BaseDao4Oracle implements IBaseDao {

	public void save(Object object) {
		System.out.println("BaseDao4Oracle");
	}

}

 

工厂类,利用工厂得到DAO

package com.lwf.dao;

public class BaseDaoFactory {

	private static BaseDaoFactory baseDaoFactory = new BaseDaoFactory();
	private String baseDaoName;
	private BaseDaoFactory(){
		 baseDaoName = "BaseDao4MySql";
		//加载xml属性
	}
	
	public static BaseDaoFactory getInstance(){
		return baseDaoFactory;
	}
	
	public IBaseDao getBaseDao(){
		IBaseDao iBaseDao = null;
		if(baseDaoName.equals("BaseDao4MySql")){
			iBaseDao = new BaseDao4MySql();
		}else if(baseDaoName.equals("BaseDao4Oracle")){
			iBaseDao = new BaseDao4Oracle();
		}
		return iBaseDao;
	}
}

 

 

具体的业务:用户管理类:

package com.lwf.manager;

import com.lwf.bean.User;
import com.lwf.dao.BaseDaoFactory;
import com.lwf.dao.IBaseDao;

public class UserManager {

	private static BaseDaoFactory factory = BaseDaoFactory.getInstance();
	private static IBaseDao baseDao = factory.getBaseDao();
	
	public static void save(User user){
		baseDao.save(user);
	}
}

 

用户类:model

package com.lwf.bean;

public class User {

	private String name;
	private int age;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
}

 

下面是调用用户管理类的客户:

package com.lwf.client;

import com.lwf.bean.User;
import com.lwf.manager.UserManager;

public class Client {
	public static void main(String[] args) {
	
		User user = new User();
		user.setAge(11);
		user.setName("zhangshang");
		UserManager.save(user);
	}
}

 

分享到:
评论

相关推荐

    springboot连接redis简单示例

    springboot连接redis简单示例。其中含连接redis的dao层和controller层,可以通过页面访问进行测试。

    ssh.rar_Action!_service dao_ssh action_ssh com.dao_ssh dao

    基于ssh三层架构的JAVA开发简单示例,包含service,dao,action,pojo

    struts2+spring+hibernate整合示例

    c 测试类中 主动解析applicationContext.xml ,获取bean 执行dao层方法进行测试 2 将struts2 整合进去, 这次在struts.xml中我们使用通配符的方式配置action。 a 加入支持 : 添加struts2.3.15 必需包 以及 struts ...

    一个英语学习APP,期末课程设计 安卓

    Controller 层有三个controller,负责接受安卓端发送来的请求,然后调用Service层的服务或者Dao层的服务(dao层有服务属于设计失误),然后服务处理完业务之后,就会将结果返回到controller中,最后controller发送...

    struts2+hibernate学习示例

    struts2+Hibernate 示例 目的:构建struts2开发框架 使用 Hibernate作为持久层操作 适合:有一定struts2基础 实现:通过对用户信息的基本操作来给大家做个示范 1、struts2的搭建 2、web.xml文件的简单配置 3、...

    struts2+Hibernate+Spring学习示例

    struts2+Hibernate+Spring 示例 目的:构建struts2开发框架 使用 Hibernate作为持久层操作 采用Spring容器 适合:有一定struts2基础 对Hibernate有一定的了解 对Spring有一定的知识 实现:通过对用户信息的基本...

    QtDao:数据库对象操作类

    这是一个数据库查询与对象转换的操作库,支持基本增删改查操作,它能简单的将查询结果转换为定义好的类实例,基本原理是通过代码生成器和模板配合进行转换,下面是一个简单的示例展示了如何查询一个结果 Test1::...

    博文示例Demo-资料源码.zip

    ## 二、简单划分 **JSP:** - login.jsp :登录表单 - regist.jsp :注册表单 - index.jsp :主页(只有登录成功才能看到) **Servlet:** - LoginServlet - RegistServlet **Service:** - ...

    浅谈MVC设计模式(示例)

    MVC模式组成ModelViewController示例M层DAO数据访问接口V层login.jsplogin_success.jspC层com.servlet.LoginServlet小结 什么是MVC? (官方定义出门右转) MVC(Model View Controller)模型-视图-控制器。典型的MVC...

    iBATIS实战

    11.4 创建自己的DAO层 211 11.4.1 从实现中分离出接口 212 11.4.2 创建一个工厂以解耦 212 11.5 小结 214 第12章 扩展iBATIS 215 12.1 理解可插拔组件的设计 215 12.2 使用自定义类型处理器 217 12.2.1 实现自定义...

    Myeclipse开发struts+hibernate+spring新手入门--环境配置---项目开发示例

    Dao:数据层;service:逻辑层;web:web展现层。 2、建立好三层架构,部署好包名。建立一个jsp文件,取名为:login.jsp 代码如下: ...

    基于Spring + Spring MVC + Mybatis

    封装了常用的CURD,配合mybatis-generator 自动生成dao、model、mapper层,减少重复劳动,提高生产力,实现快速、平稳的开发 实现Mybatis的分页查询模块,支持MySQL、PostgreSQL、SQLServer等数据库分页查询 通用的...

    Java连接数据库的综合类

    在使用Dbutils 之前,我们Dao层使用的技术是JDBC,那么分析一下JDBC的弊端: ①数据库链接对象、sql语句操作对象,封装结果集对象,这三个对象会重复定义 ②封装数据的代码重复,而且操作复杂,代码量大 ③释放资源...

    java8rt.jar源码-learn-spring-cloud:学春云

    和公用返回CommonResult类,对应的dao层, paymentDao, 业务层接口PaymentService, 以及实现层PaymentServiceImpl, 还有控制层PaymentController 示例控制层: package com.learn.springcloud.controller; import ...

    深入浅出Struts2(附源码)

    11.1.1 DAO模式的最简单实现 208 11.1.2 使用DAO接口的DAO模式 208 11.1.3 使用Abstract Factory模式的DAO模式 209 11.2 实现DAO模式 209 11.2.1 DAO接口和DAOBase类 210 11.2.2 EmployeeDAO类 213 11.2.3 ...

    Simple-WebProject

    网络项目使用的技术: Java 核心小服务程序/JSP JDBC JNDI - 获取本地数据源简单的 Web 项目,它清楚地了解如何使用 JDBC、实现 DAO 层、实现控制器层并将其与视图集成。 还有一个关于如何通过 JNDI 获取 javax....

    geck:演示 JavaEE 应用程序

    JPA 示例(2 个具有简单映射的实体,通过 JTA 持久化,简单的 DAO 层,延迟获取) JAX-RS 示例 要求 Java SDK 8 Maven WildFly 应用服务器 python 2.6+ 和 pygmentize(用于漂亮的 json 输出) 安装并运行应用...

    VC 一些操作数据库相关实例源代码.rar

    VC 操作数据库的一些实用例子,比如使用DAO读写Access文件、OLE查看器、Oracle数据库连接实例、SQL查询分析器、读写DBF文件、浏览数据库的程序等,有些较简单,有些挺复杂,适合不同层次的Vc 编程者阅读参考。

Global site tag (gtag.js) - Google Analytics