Flask接口签名sign原理与实例代码浅析
301
2023-03-09
Spring之ORM模块代码详解
Spring框架七大模块简单介绍
Spring中MVC模块代码详解
ORM模块对Hibernate、JDO、TopLinkiBatis等ORM框架提供支持
ORM模块依赖于dom4j.jar、antlr.jar等包
在Spring里,Hibernate的资源要交给Spring管理,Hibernate以及其SessionFactory等知识Spring一个特殊的Bean,有Spring负责实例化与销毁。因此DAO层只需要继承HibernateDaoSupport,而不需要与Hibernate的API打交道,不需要开启、关闭Hibernate的Session、Transaction,Spring会自动维护这些对象
public interface ICatDao{
public void createCat(Cat cat);
public List
public int getCatsCount();
public Cat findCatByName(String name);
}
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class CatDaoImpl extends HibernateDaoSupportimplements ICatDao{
public void createCat(Cat cat){
this.getHibernateTemplate().persist(cat);
}
public List
return this. getHibernateTemplate().find("select cfrom Cat c");
}
public int getCatsCount(){
Number n = (Number)this.getSession(true).createQuery("selectcount(c) from Cat c").uniqueResult();
return n.intValue();
}
public Cat findCaCvbsHIJgJltByName(String name){
List
if(catList.size()>0)
return catList.get(0);
return null;
}
}
如果使用XML配置的实体类,则改为
……
Spring默认在DAO层添加事务,DAO层的每个方法为一个事务。Spring+Hibernate编程中,习惯的做法实在DAO层上再添加一个Service层,然后把事务配置在Service层
public interface ICatService{
public void createCat(Cat cat);
public List
public int getCatsCount();
}
分层的做法是,程序调用Service层,Service层调用DAO层,DAO层调用Hibernate实现数据访问,原则上不允许跨曾访问。分层使业务层次更加清晰
public class CatServhttp://iceImpl implements ICatService{
private IDao catDao;
public IDao getCatDao(){
return catDao;
}
public void setCatDao(IDao dao){
this.catDao = dao;
}
public void createCat(Cat cat){
catDao.createCat(cat);
}
public List
return catDao.listCats();
}
public int getCatsCount(){
return catDao.getCatsCount();
}
}
然后再Service层配置事务管理
总结
以上就是本文关于Spring之ORM模块代码详解的全部内容,希望大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~