首页 > 其他分享 >Spring中配合hibernate使用的简单例子

Spring中配合hibernate使用的简单例子

时间:2022-12-05 10:03:03浏览次数:45  
标签:hibernate Spring void sessionFactory 例子 User public user


最近在看SPRING和hibernate,学习了spring和hibernate之间整合,下面举出一个例子予以说明.
 
    首先,可以注入的是sessionfactory,因为sessionfactory的Datasource可以用spring注入.比如一个下面的例子,是对对象进行增加的

接口IUserDAO:

public interface IUserDAO {
public void insert(User user);
}
User.java:
public class User {
private String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

UserDao.java:
(这里省去了import等东西了)
public class UserDAO implements IUserDAO {
private SessionFactory sessionFactory;

public UserDAO() {
}

public UserDAO(SessionFactory sessionFactory) {
this.setSessionFactory(sessionFactory);
}

//注入sessionFactory
public void setSessionFactory(
SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}

public void insert(User user) {
Session session = sessionFactory.openSession();
Transaction tx= session.beginTransaction();
session.save(user);
tx.commit();
session.close();
}

关键的base-config.xml:
<beans>

//基本的datasource,存放实际连接串等东西
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/SpringHibernateDemo</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>123456</value>
</property>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" >
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="mappingResources">
<list>
<value>liaoo/springhibernatear/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
</bean> <bean id="userDAO" class="liao.springhibernate.UserDAO">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>

可以看到,这里对userDAO类的sessionFactory进行了注入,而参考到其中的bean-config.xml里sessionFactory里实现.可以看到,可以将datasource注入到LocalSessionFactoryBean中.要注意的是org.springframework.orm.hibernate3.LocalSessionFactoryBean是hibernate 3整合使用的,org.springframework.orm.hibernate.LocalSessionFactoryBean是hibernate 2中使用的.

最后是测试程序
public static void main(String[] args) {
ApplicationContext context =
new FileSystemXmlApplicationContext(
"beans-config.xml");

IUserDAO userDAO = (IUserDAO) context.getBean("userDAO");
User user = new User();
user.setName("jackyrong");
userDAO.insert(user);

标签:hibernate,Spring,void,sessionFactory,例子,User,public,user
From: https://blog.51cto.com/u_14230175/5911339

相关文章

  • spring 3 jdbc常用小结
    spring3的jdbc跟springmvc搭配起来挺好用的,本文试着小结其主要使用方法,并举出spring3.3.2中的一些信变化进行解析1)在dao中注入jdbctemplate,然后......
  • spring mvc中的拦截器小结
    在springmvc中,拦截器其实比较简单了,下面简单小结并demo下。preHandle:预处理回调方法,实现处理器的预处理(如登录检查),第三个参数为响应的处理器(如我们......
  • springboot_02
    1.修改配置 ky格式修改配置文件  1.1application.yml格式(一般用这种格式) ......
  • Spring实例化bean的方法
    Spring实例化bean的方法主要有四种:通过构造方法实例化bean,使用静态工厂实例化bean,使用实例工厂实例化bean,使用FactoryBean实例化bean。前三种了解即可,使用FactoryBean实例......
  • spring 动态获取配置spring获取所有配置spring运行中获取配置列表
    1:在任何springbean中注入PropertySourcesPlaceholderConfigurer对象,如:@AutowiredPropertySourcesPlaceholderConfigureraa; 2:获取当前配置中的值ObjectgetProp......
  • spring源码 自定义beanDefinition的添加逻辑
      首先我自定义了两个beandefinition,第一个会产生第二个,并且都是特殊的实现,能够避开前面的循环读取,所以,spring在最后用了一个while循环,一个flag就将,beandefinition新增......
  • SpringCloud Alibaba学习笔记
    该笔记整理至尚硅谷周阳老师的SpringCloud课程SpringCloudAlibaba篇SpringCloudAlibaba入门简介SpringCloudNetflix项目进入维护模式,SpringCloudNetflix将不再......
  • Spring validate 探索
      Springcontextvalidate包  RequestResponseBodyMethodProcessor   MethodValidationInterceptor    spring自动PrimaryDefaultValidato......
  • 快速创建spring boot 项目
    因为我装的是社区版idea, 不能安装springinitializer插件,所以只能在网站上create.GENERATE 然后下载下来即可:https://start.spring.io/ ......
  • SpringBoot中使用Spring Data JPA
    Springboot中如何集成springdatajpa一什么是ORM?ORM即Object-RelationlMapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需......