`

简单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);
	}
}

 

分享到:
评论

相关推荐

    JSP直接获取dao层数据实例 java mysql jsp dao

    但在某些简单的项目或者学习示例中,我们可能会看到JSP直接调用DAO的例子。在JSP中,我们可以通过`<jsp:useBean>`和`<jsp:setProperty>`标签来实例化和设置DAO对象,然后通过调用其方法获取数据。例如: ```jsp *...

    省略dao层,采用全注解完成登录功能

    DAO层通常用于处理数据库交互,但在本示例中,我们将看到如何利用Java的注解技术来减少代码冗余并提高效率。以下是对这个主题的详细阐述: 1. **全注解编程**:全注解编程是一种利用Java注解来替代部分XML配置的...

    java ssh通用DAO另类实现示例

    Java SSH(Spring、Struts2、Hibernate)是一个经典的Java企业级开发框架组合,常用于...它使得DAO层的维护变得更加简单,同时保持了良好的封装性和扩展性。在实际项目中,这样的设计可以显著提高开发效率和代码质量。

    MyBatis链接MySql数据库,在Dao层处理

    在本示例中,我们将探讨如何使用MyBatis连接到MySQL数据库并在Dao层进行数据处理。这对于初学者来说是一个很好的起点,可以帮助理解MyBatis的基础操作。 1. **MyBatis简介** MyBatis消除了几乎所有的JDBC代码和...

    根据数据库自动生成DAO层以及pojo和sql

    首先,DAO层是应用程序与数据库交互的接口层,它隔离了业务逻辑代码与数据库操作,使得代码更加模块化,易于维护。DAO类通常包含了对数据库的各种操作方法,如增删改查等。 其次,POJO是一种简单的Java对象,不带有...

    remobject 三层简单示例

    这个“remobject 三层简单示例”应该是提供了一个使用RemObjects语言实现三层架构的基础教程。 在三层架构中: 1. **表现层(UI)**:这是用户与应用程序交互的部分,负责接收用户的输入并展示结果。在RemObjects...

    DAO详解 详细讲述了DAO的使用

    - **事务管理**:DAO层方便进行事务控制,确保数据的一致性。 **4. DAO的实现方式** - **JDBC DAO**:直接使用Java的JDBC API实现,编写SQL语句,处理结果集。 - **ORM框架实现**:如Hibernate、MyBatis等,通过...

    JDBC数据库连接池DBCP jsp页面直接获取DAO层数据 demo

    本示例"JDBC数据库连接池DBCP jsp页面直接获取DAO层数据 demo"展示了如何利用Apache的DBCP数据源实现数据库连接池,并通过jsp页面直接调用DAO层获取数据。以下将详细讲解这个过程中的关键知识点。 首先,我们来了解...

    一个简单的DAO例子

    在提供的文件中,`MyDAO.docx`可能是一个文档,详细解释了DAO类的设计和实现过程,包括可能的类结构、方法定义和示例代码。而`MyDAO`可能是实现DAO接口的Java源代码文件,它包含了具体的数据库操作逻辑。 在实际...

    asp.net三层架构简单示例

    在这个"asp.net三层架构简单示例"中,我们将深入探讨每个层次的作用以及它们之间的交互。 1. **表示层(Presentation Layer)** - 这是用户与应用进行交互的部分,通常由ASP.NET网页组成。在本示例中,可能包含了`...

    自定义Dao,反射实现

    下面是一个简单的反射实现DAO的示例: ```java public abstract class BaseDao<T> { private String tableName; private Class<T> clazz; public BaseDao(Class<T> clazz) { this.clazz = clazz; this....

    java术语(PO/POJO/VO/BO/DAO/DTO)

    DAO是一种设计模式,它提供了一种抽象机制,使得业务逻辑层可以与数据存储层解耦。DAO对象负责执行SQL查询或ORM框架操作,用于获取、存储和更新数据。这样,即使数据库结构改变,业务逻辑层的代码也无需改动。 6. ...

    使用JDBC实现数据访问对象层(DAO)代码示例

    在下面的代码示例中,我们将使用JDBC来实现一个简单的DAO层,用于访问和操作一个用户数据库表。 首先,我们定义一个User类,用于表示一个用户对象: ```java public class User { private long id; private ...

    自动生成DAO源代码

    本主题主要介绍如何利用Eclipse的Java Text Templates (JET)功能自动生成DAO源代码,以及如何结合Spring和Hibernate框架实现高效的DAO层。 首先,DAO是Data Access Object的缩写,它是业务逻辑层和持久化层之间的...

    C#三层架构示例-小聊天室

    本示例“C#三层架构示例-小聊天室”是一个专门为初学者设计的项目,它通过一个简单的聊天室应用展示了如何利用C#实现三层架构。三层架构是一种常见的软件设计模式,它将应用程序分为三个主要部分:表现层...

    SpringMVC整合MyBatis示例

    5. **创建DAO层**:定义Mapper接口,接口方法对应SQL操作。对应的XML文件中编写SQL语句和结果映射。使用MyBatis提供的注解`@Select`、`@Insert`、`@Update`、`@Delete`等来声明SQL。 6. **创建Controller层**:编写...

    JDBCDemo_DAO.rar

    在软件开发中,数据访问层(Data Access Object,简称DAO)设计模式是一种常用的设计模式,它旨在提高代码的可重用性和可维护性,降低业务逻辑与数据访问之间的耦合。DAO模式的核心思想是将数据库操作封装到一个独立...

    struts+DAO登陆例子

    本教程将通过一个简单的登录示例深入探讨这两者如何协同工作。 **Struts框架** Struts是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架。Struts为开发者...

    iBATIS-DAO-2

    数据访问对象(DAO)允许开发者创建简单的组件,这些组件提供对数据的访问,同时不向应用的其他部分暴露其实现细节。通过使用DAO,应用可以被动态配置为使用不同的持久化机制。对于那些涉及多种数据库和持久化策略的...

Global site tag (gtag.js) - Google Analytics