spring 之 spring整合hibernate

spring整合hibernate步骤如下:

  1. 新建java项目
  2. 导入jar包
  3. 编写vo类

    @Entity
    @Table(name="t_user")
    public class User implements Serializable{
        @Id
        @GeneratedValue(strategy=GenerationType.AUTO)
        private int id;
        private String name;
        private int age;
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    }
  4. Hibernate映射文件

    <hibernate-mapping>
        <class name="cn.wh.vo.User" table="t_user">
            <id name="id">
                <generator class="native"></generator>
            </id>
            <property name="name"/>
            <property name="age"/>
        </class>
    </hibernate-mapping>
  5. 编写hibernate的配置文件

    <hibernate-configuration>
    <session-factory>
        <property name="myeclipse.connection.profile">mysql</property>
        <property name="connection.url">
            jdbc:mysql://localhost:3306/hibernate4
        </property>
        <property name="connection.username">root</property>
        <property name="connection.password">1111</property>
        <property name="connection.driver_class">
            com.mysql.jdbc.Driver
        </property>
        <property name="hibernate.dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <mapping resource="cn/sxt/vo/User.hbm.xml" />
    </session-factory>
    </hibernate-configuration>
  6. 编写dao层

    public class UserDaoImpl implements UserDao{
        private SessionFactory sessionFactory;
        @Override
        public List<User> findAll() {
            return sessionFactory.openSession().createQuery("from User").list();
        }
        public void setSessionFactory(SessionFactory sessionFactory) {
            this.sessionFactory = sessionFactory;
        }
    }
  7. 编写service

    public class UserServiceImpl implements UserService {
        private UserDao userDao;
        @Override
        public List<User> findAll() {
            return userDao.findAll();
        }
        public void setUserDao(UserDao userDao) {
            this.userDao = userDao;
        }
    }
  8. 编写spring的配置文件

    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop.xsd">
        <!-- 整合hibernate第一种及配置方式
        <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
            <property name="configLocation" value="classpath:hibernate.cfg.xml"/>
        </bean>
        -->
        <!-- 整合hibernate第二种方式 -->
        <!-- 配置数据源 -->
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/hibernate4"/>
            <property name="username" value="root"/>
            <property name="password" value="1111"/>
        </bean>
        <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>
            <!-- 映射文件映射
            <property name="mappingLocations">
                <list>
                    <value>classpath:cn/wh/vo/User.hbm.xml</value>
                </list>
            </property>
            -->
            <property name="annotatedClasses">
                <list>
                    <value>cn.wh.vo.User</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.format_sql">true</prop>
                </props>
            </property>
        </bean>
        <bean id="userDao" class="cn.wh.dao.impl.UserDaoImpl">
            <property name="sessionFactory" ref="sessionFactory"></property>
        </bean>
        <bean id="userService" class="cn.wh.service.impl.UserServiceImpl">
            <property name="userDao" ref="userDao"></property>
        </bean>
    </beans>
  9. 测试:

    public class UserServiceTest {
        @Test
        public void testFindAll(){
            ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
            UserService userService = ac.getBean(UserService.class);
            List<User> list = userService.findAll();
            System.out.println(list.size());
        }
    }

@Entity

@Table(name="t_user")

publicclass User
implements Serializable{

@Id

@GeneratedValue(strategy=GenerationType.AUTO)

privateintid;

private
String name;

privateintage;

publicint
getId() {

returnid;

}

publicvoid
setId(int id) {

this.id =
id;

}

public
String getName() {

returnname;

}

publicvoid
setName(String name) {

this.name =
name;

}

publicint
getAge() {

returnage;

}

publicvoid
setAge(int age) {

this.age =
age;

}

}

时间: 2024-08-26 11:14:46

spring 之 spring整合hibernate的相关文章

Spring Security 4 整合Hibernate 实现持久化登录验证(带源码)

上一篇文章:Spring Security 4 整合Hibernate Bcrypt密码加密(带源码) 原文地址:http://websystique.com/spring-security/spring-security-4-remember-me-example-with-hibernate/ [相关已翻译的本系列其他文章,点击分类里面的spring security 4] 本教程将使用Spring Security 4 和hibernate向你展示持久化登录验证. 在持久化登录验证中,应用

Spring Security 4 整合Hibernate Bcrypt密码加密(带源码)

[相关已翻译的本系列其他文章,点击分类里面的spring security 4] [ 翻译by 明明如月 QQ 605283073] 上一篇文章: Spring Security 4 Hibernate整合 注解和xml例子(带源码) 下一篇文章:Spring Security 4 整合Hibernate 实现持久化登录验证(带源码) 原文地址:http://websystique.com/spring-security/spring-security-4-password-encoder-bc

Spring学习4_整合Hibernate进行数据库操作

很多项目中后端通过Spring+hibernate进行数据库操作,这里通过一个简单Demo来模拟其原型. 代码结构 1.Spring配置如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSche

Spring笔记④--spring整合hibernate链接数据库

整合hibernate 整合什么? 有ioc容器来管理hibernate的SessionFactory 让hibernate使用上spring的声明式事务 ? 先加入hibernate 驱动包 新建hibernate.cfg.xml 配置hibernate的基本属性 数据源需配置到IOC 容器中,所以在此处不再需要配置数据源 关联的.hbm.xml也在IOC 容器配置SessionFactory实例时进行配置. 配置hibernate的基本属性:方言,sql的显示及格式化,生成数据表的策略以及二

Spring整合Hibernate中自动建表

Spring整合Hibernate中自动建表 博客分类: JavaEE Java代码   <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> <

Spring整合Hibernate的步骤

为什么要整合Hibernate?1.使用Spring的IOC功能管理SessionFactory对象 LocalSessionFactoryBean2.使用Spring管理Session对象  HibernateTemplate3.使用Spring的功能实现声明式的事务管理 整合Hibernate的步骤:1.配置SessionFactory(能够自己主动完毕) <bean id="sessionFactory"  class="org.springframework.o

java框架整合例子(spring、spring mvc、spring data jpa、hibernate)

这是自己参考springside开源项目整合的框架,主要整合了spring.spring mvc.spring data jpa.hibernate这几个框架,对于这几个框架其中感觉比较舒服的还是spring data jpa这个框架,这个框架在写dao类的时候,只需要写一个接口声明,spring data jpa会自动的实现其实现类,使用起来比较方便,至于详细的使用方法还请自己百度吧,因为我也不清楚.个人感觉还有一个比较不错的地方就是能够打印sql语句,都知道hibernate打印的sql语句

3、Spring整合Hibernate

经过前面的两节分析:1.Hibernate之生成SessionFactory源码追踪 和 2.Spring的LocalSessionFactoryBean创建过程源码分析 .我们可以得到这样一个结论,spring的LocalSessionFactoryBean具体是调用Hibernate的Configuration中configure(...)方法来读取并解析xxx.cfg.xml文件的,同样也会得到一个原生态的org.hibernate.cfg.Configuration 和 org.hibe

条理清晰的搭建SSH环境之整合Hibernate和Spring

上篇博客整合了Struts和Spring,感觉很简单,这篇博客主要讲述Hibernate和Spring的整合. 如果说上篇博客中的整合是以为Spring的IOC可以管理对象,让Struts2里的对象管理变得更方便.那么Hibernate与Spring的整合的好处就是,可以将SessionFactory的实例交由Spring容器管理,那么我们只需要这一个实例就可以了.还有一点就是声明式的事务管理非常方便. 需要以下配置: 1.配置applicationContext.xml文件,添加配置sessi

Spring 整合Hibernate

Sping 整合Hibernate 整合什么? 由IOC 容器来管理Hibernate 的SessionFactory 让Hibernate 使用上Spring 的声明式事务 整合步骤: 加入Hibernate 加入Spring 整合