jotm.objectweb.org/ 2、http://www.atomikos.com/Main/TransactionsEssentials 一、使用JOTM例子 (1) Dao及实现 GenericDao...接口: public interface GenericDao { public int save(String ds, String sql, Object[] obj) throws Exception...genericDao; public void setGenericDao(GenericDao genericDao) { this.genericDao = genericDao; }...; "); Object[] objs = new Object[]{userName,"1"}; genericDao.save("A", sql.toString(), objs);...; "); objs = new Object[]{userName,"男的"};//值超出范围 genericDao.save("B", sql.toString(), objs); } }
Burrow功能 Burrow Conversation:可以很轻松的开发业务流程 GenericDAO:尽可能少接触ISession(会话和事务) Stateful...如果您使用的是GenericDAO ,多种数据库的支持是非常透明的-您的代码不需要知道有多个数据库 Burrow GetStarted 创建一个Burrow asp.net项目 添加web.config...db2hibernate.cfg.xml" /> 使用ISession,如果你使用Burrow.AppBlock.GenericDAO
> modelEntities, List messages, boolean addMissing) throws GenericEntityException { genericDAO.checkDb...> modelEntities, List messages, boolean addMissing) throws GenericEntityException { genericDAO.checkDb
basePackage" value="com.mall.dubbo.dao" /> <property name="markerInterface" value="com.mall.dubbo.dao.<em>GenericDao</em>...5、对应的Dao接口 <em>GenericDao</em>: package com.mall.dubbo.dao; public interface <em>GenericDao</em> { } 该接口是所有的dao接口的父接口,对于与配置文件中的...org.springframework.stereotype.Repository; import com.mall.dubbo.entity.Cource; @Repository public interface CourceDao extends <em>GenericDao</em>...com.mall.dubbo.dao; import com.mall.dubbo.entity.Student; @Repository public interface StudentDao extends <em>GenericDao</em>...org.springframework.stereotype.Repository; import com.mall.dubbo.entity.Teacher; @Repository public interface TeacherDao extends <em>GenericDao</em>
匹配实现特定接口所有类方法execution(* top.linxz.dao.GenericDAO+.*(..)) 匹配所有save开头的方法 execution(* save*(..))
public abstract class GenericDAO implements DAO{ @PersistenceContext private EntityManager...public PersonDAO extends GenericDAO{ public List getPersonByAge(int age){
匹配实现特定接口所有类方法: execution(* com.test.doa.GenericDao + .*(..))
匹配实现特定接口的所有类的方法:execution(* cn.itcast.dao.GenericDAO+.*(..)) 匹配所有 save 开头的方法:execution(* save*(..))
自定义泛型类 例子 public class GenericDao{ public void add(T x){ } public T findById(int id)
ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); /** * 数据库查询类 */ GenericDao...genericDao = new GenericDao(); /** * * 更新方法 * * @param sql...防止其它线程对缓存读取和更改 lock.writeLock().lock(); try { //先更新数据库 int rows = genericDao.update...map.get(key); if (value == null) { // 如果没有, 查询数据库 value = genericDao.queryOne
SqlPair, T> map = new HashMap(); ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); GenericDao...genericDao = new GenericDao(); // 更新操作,写锁 public int update(String sql, Object... params...// 加写锁, 防止其它线程对缓存读取和更改 lock.writeLock().lock(); try { int rows = genericDao.update...map.get(key); if (value == null) { // 如果没有, 查询数据库 value = genericDao.queryOne
匹配实现特定接口所有类方法 execution(* cn.itcast.dao.GenericDAO+.*(..))
VS Hibernate Hibernate 是JPA规范的一个实现,设计JPA provider, 而spring Data JPA 是一个JPA数据访问抽象 Spring Data JPA提供GenericDao
Action类和view 3.和web环境松耦合,从理论上讲可以用在swing里 4.支持tdd开发,框架本身就是以tdd开发方式开发 5.代码少,一般mvc需要5个类,xyz只要3个,还可以通过GenericDAO...Frails 提供 Managed Bean 属性的injection 和 outjection Frails 中的Hibernate GenericDao 对象提供了基本的 CRUD 函数 和 其他一些有用
领取专属 10元无门槛券
手把手带您无忧上云