博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
s2sh框架搭建(基于spring aop)
阅读量:6899 次
发布时间:2019-06-27

本文共 6966 字,大约阅读时间需要 23 分钟。

对于spring aop 是如何管理事务的,请看一下:

1.applicationContext.xml

xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect hibernate.hbm2ddl.auto=update hibernate.show_sql=true hibernate.format_sql=false hibernate.cache.use_second_level_cache=true hibernate.cache.use_query_cache=false hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
person.cfg.xml

2. dao层代码

package com.xunchang;import java.util.List;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;public class PersonDaoImpl implements PersonDao{    private SessionFactory sessionFactory;          public Session getSession() {          return sessionFactory.getCurrentSession();      }        public SessionFactory getSessionFactory() {          return sessionFactory;      }        public void setSessionFactory(SessionFactory sessionFactory) {          this.sessionFactory = sessionFactory;      }         @Override    public Person get(Integer id) {        return (Person) this.getSession().get(Person.class, id);    }    @Override    public void save(Person ps) {        this.getSession().save(ps);    }    @Override    public List
findAllPerson() { /* * 问题: home402 is not mapped [from home402]; * 最后发现了问题所在,hql查询时使用的from Xxx,Xxx不是实体类的名称,而是 EntityName (Hibernate注解)。 如: @Entity @Table(name="QING_AO_CENTER_INFO") public class QingAoCenterInfo { ...... } 此处, @Entity后并没有显示的指明EntityName,因此默认采用实体类的名称。 @Entity(name="QING_AO_CENTER_INFO") @Table(name="QING_AO_CENTER_INFO") public class QingAoCenterInfo { ...... } 可以发现,显示地指明了 EntityName,因此在使用hql查询的时候,要from QING_AO_CENTER_INFO,而不是from QingAoCenterInfo ; centerList = manager.find("from QING_AO_CENTER_INFO center where center.type = ? and center.centerName = ?", new Object[]{type,centerName}); */ Session session = this.getSession();// Transaction tran = session.beginTransaction(); session.save(new Person(null, "我是hjzgg", 23)); List
list = session.createQuery("from Person").list();// tran.commit(); return list; }}

3.service层部分代码:

package com.hjzgg.service;import java.util.List;import com.xunchang.Person;import com.xunchang.PersonDao;public class XunChageService {    private PersonDao personDao;        public Person get(Integer id){        return personDao.get(id);    }        public void save(Person ps){        personDao.save(ps);    }    public List
findAllPerson(){ return personDao.findAllPerson(); } public PersonDao getPersonDao() { return personDao; } public void setPersonDao(PersonDao personDao) { this.personDao = personDao; }}

4.action部分代码:

package com.xunchang;import java.util.List;import com.hjzgg.service.XunChageService;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {    private XunChageService service;        @Override    public String execute() throws Exception{        List
list_person = service.findAllPerson(); ActionContext.getContext().getSession().put("person", list_person); return "success"; } public XunChageService getService() { return service; } public void setService(XunChageService service) { this.service = service; } }

5.和数据库映射的pojo:

package com.xunchang;import java.io.Serializable;/* *待解决问题,为什么一定要实现 Serializeable*/public class Person implements Serializable{    private Integer personId;    private String person_name;    private Integer person_age;        public Person(){    }    public Person(Integer personId, String person_name, Integer person_age) {        super();        this.personId = personId;        this.person_name = person_name;        this.person_age = person_age;    }    public Integer getPersonId() {        return personId;    }    public void setPersonId(Integer personId) {        this.personId = personId;    }    public String getPerson_name() {        return person_name;    }    public void setPerson_name(String person_name) {        this.person_name = person_name;    }    public Integer getPerson_age() {        return person_age;    }    public void setPerson_age(Integer person_age) {        this.person_age = person_age;    }}

6.hibernate映射文件xml

7.struts.xml

本文转自 小眼儿 博客园博客,原文链接:http://www.cnblogs.com/hujunzheng/p/4372706.html,如需转载请自行联系原作者
你可能感兴趣的文章
发布一个开源的c++网络事件库 - 知然 - 博客园
查看>>
XTU1201:模和除
查看>>
Linux下chkconfig命令详解
查看>>
用JavaScript实现让浏览器停止载入页面
查看>>
[原创]FineUI秘密花园(九) — 表单验证
查看>>
使用jQueryUI的dialog实现一个提示功能
查看>>
2014年西昌邛海湿地马拉松赛
查看>>
ZeroMQ接口函数之 :zmq_connect - 由一个socket创建一个对外连接
查看>>
lua学习项目笔记
查看>>
Git_期末总结
查看>>
C文件操作的语言fgets()
查看>>
Python迭代器和生成器
查看>>
MFC office2007风格设置左侧导航栏 [转]
查看>>
Mysql游标
查看>>
struts2获得提交是get还是post方法提交
查看>>
开源任务管理平台TaskManagerV2.0介绍及升级说明
查看>>
Java程序员的日常——经验贴(纯干货)
查看>>
Spring配置文件头及xsd文件版本
查看>>
一个简单的Android富文本TextView实现
查看>>
iOS:个人浅谈工厂模式
查看>>