Spring之ORM模块代码详解

网友投稿 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 listCats();

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 listCats(){

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 catList =this.getHibernateTemplate().find("select c from Cat where c.name = ?",name);

if(catList.size()>0)

return catList.get(0);

return null;

}

}

com.clf.spring.orm.Cat

com.clf.spring.orm.Dog

org.hibernate.dialect.mysqlDialect

true

true

create

如果使用XML配置的实体类,则改为

classpath:/com/clf/orm/Cat.hbm.xml

……

Spring默认在DAO层添加事务,DAO层的每个方法为一个事务。Spring+Hibernate编程中,习惯的做法实在DAO层上再添加一个Service层,然后把事务配置在Service层

public interface ICatService{

public void createCat(Cat cat);

public List listCats();

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 listCats(){

return catDao.listCats();

}

public int getCatsCount(){

return catDao.getCatsCount();

}

}

然后再Service层配置事务管理

PROPGATION_REQUIRED

总结

以上就是本文关于Spring之ORM模块代码详解的全部内容,希望大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:api 管理工具(API管理工具 mock)
下一篇:uart接口设计(uart接口引脚定义)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~