使用注解方式进行spring和hibernate整合
来源:互联网 发布:用户网络行为画像 zip 编辑:程序博客网 时间:2024/05/23 15:20
整合spring和hibernate需要五个要素,分别包括持久化的类, 数据源,SessionFactory, TransactionManager和持久化操作的DAO类。
持久化类:
@Entitypublic class Spitter {private long id;private String userName, passWord, fullName;public Spitter(long id, String n, String p, String f){this.id = id;this.userName = n;this.passWord = p;this.fullName = f;}public Spitter(){}public void setId(long id){this.id = id;}@Idpublic long getId(){return id;}public String getUserName(){return this.userName;}public void setUserName(String n){this.userName = n;}public String getPassWord(){return this.passWord;}public void setPassWord(String p){this.passWord = p;}public String getFullName(){return this.fullName;}public void setFullName(String f){this.fullName = f;}}
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" > <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/spitter" /> <property name="username" value="root" /> <property name="password" value="root" /> <property name="initialSize" value="5"/> <property name="maxActive" value="10" /> </bean>
SessionFactory类(在spring配置文件中配置):
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="annotatedClasses"> <list> <value>Spitter.spitterOne.Spitter</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> </bean>配置hibernate事务:
<!-- 设定transactionManager --> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!--启动spring事务注解功能--> <tx:annotation-driven transaction-manager="txManager"/>
进行持久化操作的DAO类:
@Repositorypublic class HibernateSpitterDao implements SpitterDAO {private SessionFactory sessionFactory;@Autowiredpublic HibernateSpitterDao(SessionFactory sessionFactory){this.sessionFactory = sessionFactory;}private Session currentSession(){return this.sessionFactory.getCurrentSession();}/** * 进行持久化的方法需要使用@Transactional进行事务管理 */@Transactional(readOnly = false, rollbackFor = RuntimeException.class)public void addSpitter(Spitter spitter){this.currentSession().save(spitter);}public Spitter getSpitterById(long id){return (Spitter)this.currentSession().get(Spitter.class, id);}@Transactional(readOnly = false, rollbackFor = RuntimeException.class)public void saveSpitter(Spitter spitter){this.currentSession().update(spitter);}public static void main(String [] args){Spitter ss = new Spitter(103,"zhang sfdasf454352an", "cccninini", "zhang shan fdasfsdfewe");ApplicationContext ctx = new ClassPathXmlApplicationContext("Spitter/spitterOne/spring-idol.xml"); <span style="color:#ff0000;">SpitterDAO dao = (SpitterDAO) ctx.getBean("hibernateSpitterDao");</span>dao.addSpitter(ss);}}
因为Spring只能对接口进行aop操作,所以红色代码部分只能将hibernateSpitterDao强制转换成SpitterDAO接口。
4 4
- 使用注解方式进行spring和hibernate整合
- 使用注解方式进行spring和hibernate整合
- 使用注解方式进行spring和hibernate整合
- Hibernate注解使用和spring整合
- spring和hibernate注解整合
- spring+hibernate+iBATIS注解方式整合
- Spring 整合 Hibernate(注解方式)
- Spring整合Hibernate(2)----注解方式
- Hibernate注解使用以及Spring整合
- Hibernate注解使用以及Spring整合
- Hibernate注解使用以及Spring整合
- Hibernate注解使用以及Spring整合
- Hibernate注解使用以及Spring整合
- Hibernate注解使用以及Spring整合 .
- Hibernate注解使用以及Spring整合
- Hibernate注解使用以及Spring整合
- Hibernate注解使用以及Spring整合
- Hibernate注解使用以及Spring整合
- ORACLE FLASHBACK DATABASE 总结
- Windows10 自带壁纸
- poj3252--Round Numbers
- Linux命令小结
- 253 - Cube painting
- 使用注解方式进行spring和hibernate整合
- ad系统full gc触发
- spring mvc 自己编写异常
- JAVA灰度化、二值化图片如此简单方便
- 学会提问 笔记(二)
- 实例解说Linux中fdisk分区使用方法
- MongoDB 分片+副本 集群配置
- 内核重新编译之make install和生成initramfs的过程分析
- Solr增量索引