- 浏览: 259692 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (87)
- Java (6)
- Frameworks (1)
- JavaWeb (3)
- Spring (6)
- Hibernate (26)
- Maven (2)
- Plugin (1)
- Velocity (1)
- Freemarker (1)
- Spring security (18)
- Google (5)
- Guice (5)
- rmi (1)
- Annotation (1)
- Binding (1)
- commons-fileupload (3)
- fileupload (3)
- ehcache (1)
- ApplicationContext (1)
- Resource (1)
- Validator (1)
- PropertyEditor (1)
- one-to-many (5)
- cascade (2)
- MessageSource (1)
- Serialize (1)
- Serializable (1)
- delete (1)
- delete-orphan (1)
- fetch (1)
- one-to-one (1)
- join (4)
- DomainObject (1)
- CRUD (1)
- composite-element (1)
- Hibernate ORM (14)
- dynamic-insert (1)
- dynamic-update (1)
- Search (1)
- DDD (0)
- Job (0)
- element (1)
- Unique (1)
- Group (1)
- tomcat (1)
- https (1)
- mysql (1)
最新评论
-
xurunchengof:
[url][url][url][img][img][img][ ...
Spring Security 3多用户登录实现之三 验证过滤器 -
Wind_ZhongGang:
<div class="quote_title ...
Spring集成Commons fileupload,文件上传 -
yo8237233:
你这样的话如果上传文件超过了50000000就会报异常
Spring集成Commons fileupload,文件上传 -
zhuzhiguosnail:
Wind_ZhongGang 写道lianglaiyang 写 ...
Spring Security 3多用户登录实现一 -
曾老师:
?????
Spring Security 3用户登录实现之十 用户切换
基于DomainObject的通用数据库CRUD操作
对于项目中的持久化实体,持久化实体虽然对应着不同的业务对象,拥有不同的属性,在数据库中有不同的数据表与其对应,但是这些不同的持久化实体间却存在着一些共性,如它们都需要id主键标识数据表中的某一条记录,都有可能需要对其进行增删改查的操作,于是,将其共性提取出来进行封装,对于提高代码的可重用性和可读性,显得十分迫切以及必要。
一。DomainObject
package com.dream.model.couple; /** * Created by IntelliJ IDEA. * User: Zhong Gang * Date: 10/17/11 * Time: 1:05 PM */ public class DomainObject { private Integer id; private Integer version; }
id是主键标识,version则可以作为乐观锁控制数据的正确性以及一致性,当然也可以在些添加其它一些项目必要的属性,根据不同的项目需求有所不同,如添加一个全局统一标识符,用以标识全局中的唯一一条数据。
二。DomainDao
package com.dream.dao.standard; import com.dream.model.couple.DomainObject; import java.util.List; /** * Created by IntelliJ IDEA. * User: Zhong Gang * Date: 10/17/11 * Time: 1:10 PM */ public interface DomainDao { void saveOrUpdate(DomainObject domainObject); DomainObject findById(Class clazz, Integer id); void delete(DomainObject domainObject); List<DomainObject> findAll(Class clazz); }
三。DomainDaoImpl
package com.dream.dao; import com.dream.dao.standard.DomainDao; import com.dream.model.couple.DomainObject; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import java.util.List; /** * Created by IntelliJ IDEA. * User: Zhong Gang * Date: 10/17/11 * Time: 1:12 PM */ public class DomainDaoImpl extends HibernateDaoSupport implements DomainDao { @Override public void saveOrUpdate(DomainObject domainObject) { getHibernateTemplate().saveOrUpdate(domainObject); } @Override public DomainObject findById(Class clazz,Integer id) { return (DomainObject) getHibernateTemplate().get(clazz.getName(), id); } @Override public void delete(DomainObject domainObject) { getHibernateTemplate().delete(domainObject); } @Override public List<DomainObject> findAll(Class clazz) { return getHibernateTemplate().find("from " + clazz.getName()); } }
如此一来,当项目中的其它模块需要使用CRUD操作时,只需简单继承DomainDaoImpl类即可,避免重复代码的编写。
发表评论
-
Hibernate unique使用
2011-11-28 22:16 1106在Hibernate中对于一对一的关联关系配置 ... -
Hibernate cascade在不同关联关系中的具体表现
2011-11-22 21:47 3080在Hibernate中,针对持久化实体的配置文件中有 ... -
Hibernate element使用
2011-11-20 20:43 1537一.Person package co ... -
Hibernate 单表实现树结构
2011-11-13 21:10 2790来看看通过单表来实现一个树形结构的方式。这里假设有这样 ... -
Hibernate save persist merge探究
2011-10-27 17:59 4081先来看看hibernate-reference.pd ... -
Hibernate Search配置及简单应用
2011-10-25 16:06 2534Hibernate Search是一款集成Apach ... -
Hibernate的三种配置方式
2011-10-24 16:58 1769对于Hibernate的配置方式,有三种,一种是通过 ... -
dynamic-insert,dynamic-update 我有话要说
2011-10-21 17:39 12917在之前的一个项目中,Team leader说在每一个 ... -
Hibernate one-to-many composite-element实现
2011-10-17 16:55 2609Hibernate中持久化实体间一对多关联关系的compo ... -
Hibernate one-to-many 双方双向连接表关联
2011-10-17 14:24 1697Hibernate中持久化实体间一对多关联,具体关联关 ... -
Hibernate one-to-many 多方单向连接表关联
2011-10-15 23:37 1248Hibernate中持久化实体间一对多 ... -
Hibernate one-to-many 一方单向连接表关联
2011-10-15 23:17 1643Hibernate中对于持久化实体间的关联关系有 ... -
Hibernate one-to-one 两方双向连接表关联
2011-10-15 17:38 2712Hibernate中对于持久化实体间的关联关系有三种分类, ... -
Hibernate fetch 抓取策略
2011-09-27 18:20 1311Hibernate fetch抓取策略定义了当抓 ... -
Hibernate 关联关系解除
2011-09-27 13:46 1502Hibernate对于持久化实体间的关联关系解 ... -
Hibernate one-to-many cascade探究
2011-09-08 13:20 1114对于Hibernate的one-to-many关联关系中, ... -
Hibernate inverse 深度解析
2011-08-09 22:55 1227inverse 英文意思为反向,倒转的。 Hi ... -
Hibernate ORM one-to-one主键关联关系映射
2011-08-01 22:08 1344Hibernate ORM one-to-one映射主要有 ... -
Hibernate ORM Inheritance
2011-07-31 22:56 1312Hibernate ORM提供了三 ... -
Hibernate many-to-many
2011-07-30 17:20 1850对于持久化实体间多对多的关联关系,在数据库中的反映 ...
相关推荐
Hibernate与JDBC对于数据库的性能操作对比事例,配置,更多信息资源
java jdbc 连接数据库 crud操作
一个简单的mybatis数据库CRUD操作
jdbc详解,主流的数据库连接,数据库连接池,Apache-DBUtils实现CRUD操作
传智播客JDBC_完成对数据库的CRUD操作.rar
Java对数据库增删改查(CRUD)操作。省去每次只能在数据库单条插入或者修改记录。一个操作数据量的CRUD工具集合。
J人性化的Java操作界面—基于数据库表CRUD操作的GUI模版,界面灵活,数据自动映射到界面,不需要手动的一个个set
基于SSM框架的简单CRUD操作,配置一下数据库,就能够运行。
ASP.NET中ACCESS数据库CRUD简单操作(规范示例)
项目标题:基于SSM框架的Java CRUD操作演示源码 项目概述: 本项目采用Java作为主要开发语言,整合了CSS、JavaScript等前端技术,构建了一个基于SSM(Spring、SpringMVC、MyBatis)框架的CRUD(增删改查)操作示例...
android sqllite数据库crud+分页,代码完整!分享给大家...适合初学者
基于springboot框架实现一些常用的功能
移动互联网应用
本文档主要是介绍android中对数据库的增删改查操作
完整的CRUD数据库操作,挺不错的资源,欢迎大家来学习。
利用享元模式封装的一个数据库操作的功能。
入门级功能:包括属性(配置),JDBC模板(数据库CRUD),JPA(Hibernate数据库CRUD),Mybatis(数据库CRUD),Mybatis(Mybatis数据库CRUD),thymeleaf(模板解析),beetl(模板解析),freemarker (模板解析)...
ssm-crud,这是一个ssm的整合crud,内附数据库test6,亲测可用,下载直接运行即可
自己写的一个JDBC通用DAO 有几点需要注意: 1.数据库命明目前只支持没下血杠命名(_) 2.表ID字段名取名有2种方式 (1)ID (2)TableName + ID 例如:user表 则取名为 id 或者 userid 因为没有用xml来映射表结构确定哪一个...
基于JPA的CRUD例子