菜鸟如何简单整合hibernate+spring(注解的方式)
2014-06-16 09:31
387 查看
首先加入hibernate+spring相关的jar包;
然后配置spring.xml,让spring来管理hibernate的连接池,session等等
然后新建一个实体类,并加以注解,正向生成数据库字段:
新建一个继承HibernateDaoSupport的java类,并注入spring创建的sessionFactory;
最后在需要用到hibernate的CURD方法时继承这个类,就可以使用了:
//省略部分代码
然后配置spring.xml,让spring来管理hibernate的连接池,session等等
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <context:annotation-config/> <context:component-scan base-package="com.aode" /> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <value>classpath:log4j.properties</value> </property> </bean> <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="packagesToScan"> <list> <value>com.aode.model</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> </bean> <!-- 事务 --> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <aop:config> <aop:pointcut id="thisService" expression="execution(public * com.aode.service..*.*(..))" /> <aop:advisor pointcut-ref="thisService" advice-ref="txAdvice" /> </aop:config> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="get*" read-only="true" /> <tx:method name="*" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <!-- tx.end --> <!-- 自创建session --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> </beans>
然后新建一个实体类,并加以注解,正向生成数据库字段:
package com.aode.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; //后台管理员测试表 @Entity @Table(name="user") public class UserModel { private int id; private String uname; private String username; private String password; private int rank; @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } @Column(length = 20) public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } @Column(length = 10) public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @Column(length = 50) public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Column(length = 4) public int getRank() { return rank; } public void setRank(int rank) { this.rank = rank; } }
新建一个继承HibernateDaoSupport的java类,并注入spring创建的sessionFactory;
最后在需要用到hibernate的CURD方法时继承这个类,就可以使用了:
//省略部分代码
public class UserDaoImp extends PLtemplate implements UserDao { public boolean UserAdd(UserModel user) { this.getHibernateTemplate().save(user); return true; }
相关文章推荐
- Spring 整合 Hibernate(注解方式)
- Spring AOP如何整合redis(注解方式)实现缓存统一管理详解
- 使用注解方式进行spring和hibernate整合
- spring+hibernate+iBATIS注解方式整合
- spring与hibernate整合配置基于Annotation注解方式管理实务
- Spring整合Hibernate(2)----注解方式
- 使用注解方式进行spring和hibernate整合
- 项目总结--maven+springsecurity+solr+springmvc+hibernate 延迟加载处理+hibernate sql对象处理(sql执行插入)+spring注解方式+邮件 + JNDI+项目框架写法+jasperreprot的简单应用
- springmvc+spring+hibernate 整合 annotation(全注解)方式
- spring,hibernate,struts2三大框架注解方式整合案例
- 使用注解方式进行spring和hibernate整合
- 使用注解方式进行spring和hibernate整合
- springMVC+hibernate+jdbc+mybatis整合 支持全注解方式 支持全配置方式
- 《细说如何整合spring+hibernate +jsf》全文下载地址为:http://download.csdn.net/source/927154
- Struts1.2&Spring2.5&Hibernate3.2集成---非注解方式
- compass 整合hibernate spring 的第二种方式 ( 通过 定时器进行数据同步)compass-2.2.0 lucene-2.9.2. hibernate-distribut spring 2.5.6 paoding
- Spring 3.0.5 + CXF 2.4 + Hibernate 3.6.0 + MySQL 5.5 整合(CXF/Spring/Hibernate)实现简单的WSS4J认证 + 测试
- Ibatis,Spring整合(注解方式注入)
- spring整合hibernate的两种方式
- 用代码讲废话之--细说如何整合spring+hibernate +jsf