Spring4整合Hibernate5详细步骤

下面是“Spring4整合Hibernate5详细步骤”的攻略,分别针对Spring和Hibernate进行详细讲解。

Spring配置

  1. pom.xml文件中添加Spring和Hibernate的依赖:
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.5.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.2.5.Final</version>
</dependency>
  1. 创建DataSource对象:
<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/test" />
    <property name="username" value="root" />
    <property name="password" value="root" />
</bean>
  1. 配置SessionFactory对象:
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="packagesToScan" value="com.example.entity" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>
</bean>
  1. 配置TransactionManager对象:
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

Hibernate配置

  1. 配置hibernate.cfg.xml文件:
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <mapping class="com.example.entity.User" />
    </session-factory>
</hibernate-configuration>
  1. 创建实体类User
@Entity
@Table(name="user")
public class User {
    @Id
    private int id;
    private String username;
    private String password;
    // 省略getter和setter方法
}

整合配置

  1. 配置applicationContext.xml文件:
<bean id="userDao" class="com.example.dao.impl.UserDaoImpl">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="userService" class="com.example.service.impl.UserServiceImpl">
    <property name="userDao" ref="userDao" />
</bean>
  1. 创建UserDao层和UserService层:

用户数据访问接口UserDao

public interface UserDao {
    void save(User user);
    List<User> getUsers();
}

用户数据访问实现类UserDaoImpl

@Repository
public class UserDaoImpl implements UserDao {
    @Autowired
    private SessionFactory sessionFactory;

    @Override
    public void save(User user) {
        sessionFactory.getCurrentSession().save(user);
    }

    @Override
    public List<User> getUsers() {
        Query query=sessionFactory.getCurrentSession().createQuery("from User");
        return query.list();
    }
}

用户服务接口UserService

public interface UserService {
    void save(User user);
    List<User> getUsers();
}

用户服务实现类UserServiceImpl

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;

    @Override
    public void save(User user) {
        userDao.save(user);
    }

    @Override
    public List<User> getUsers() {
        return userDao.getUsers();
    }
}

示例

以下是两个示例:

  1. 添加用户:
User user=new User();
user.setUsername("test");
user.setPassword("test");
userService.save(user);
  1. 获取用户:
List<User> users=userService.getUsers();
for (User user : users) {
    System.out.println(user.getUsername()+":"+user.getPassword());
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring4整合Hibernate5详细步骤 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 浅谈一下Java中的堆和栈

    浅谈一下Java中的堆和栈 在Java中,所有的数据类型的存储都是在内存中完成的。根据内存分配的方式,Java中的内存分为两种类型:堆和栈。 堆(Heap) 堆是Java内存管理中最重要的一个概念之一。堆是被所有线程共享的一块内存区域,用于存储对象实例。当我们使用new关键字创建一个对象时,该对象被放在了堆中。同时,Java自动管理堆的内存,当无法找到一个对…

    Java 2023年5月26日
    00
  • JAVA内存模型(JMM)详解

    JAVA内存模型(JMM)详解 什么是JMM JMM 是 Java Memory Model 的缩写,即 Java 内存模型,是一种制定了共享内存系统中多线程访问规则的抽象规范。它规定了 JVM 中各个线程之间的共享变量存储在主内存中,每个线程都有自己的工作内存和虚拟机栈,变量值的更改仅在工作内存中进行,需要同步到主内存中才能被其他线程看到。 JMM 可以保…

    Java 2023年5月26日
    00
  • 哲学家就餐问题中的JAVA多线程学习

    下面是哲学家就餐问题中的JAVA多线程学习的完整攻略。 什么是哲学家就餐问题? 哲学家就餐问题是计算机科学中的一个著名问题,源于柏拉图、伏尔泰等人关于如何和平共处的讨论。该问题描述了五个哲学家围坐在一张圆形餐桌周围,他们的左右手各放着一个筷子,哲学家需要用两只筷子才能吃饭,但只有这五个筷子供全部哲学家共用。哲学家在思考问题时不会释放筷子,因此当哲学家同时请求…

    Java 2023年5月19日
    00
  • idea创建maven项目速度慢的三种解决方案

    下面是详细讲解“idea创建maven项目速度慢的三种解决方案”的完整攻略。 1. 设置代理服务器 在idea中设置代理服务器可以让项目初始化时连接速度更快。 具体操作步骤: 1.在idea中点击“File”—>“Settings”菜单,弹出“Settings”窗口。 2.在“Settings”窗口中找到“Appearance & Beha…

    Java 2023年5月20日
    00
  • Java 和 JavaScript 真正通用的Base64编码详解

    Java 和 JavaScript 真正通用的Base64编码详解 什么是Base64编码? Base64 编码是一种通过将二进制数据转换成 ASCII 字符串的编码方式,常用于在文本协议中传输二进制数据。基本原理是将连续的3个字节数据分成4组,然后将每组数据转换成4个字符,采用“=”进行填充。 Java中的Base64编码 在 Java 中,使用 java…

    Java 2023年5月20日
    00
  • 简单了解Spring中常用工具类

    下面我就来详细讲解下“简单了解Spring中常用工具类”的攻略,包括什么是Spring工具类,Spring常用工具类有哪些,以及如何使用这些工具类。 什么是Spring工具类 Spring工具类是指在Spring框架中提供的一些常用的工具类,用于完成一些常见的任务。这些工具类都封装了一些复杂的逻辑,方便我们在开发中直接调用。 Spring常用工具类 以下是S…

    Java 2023年5月19日
    00
  • Spring依赖注入与第三方Bean管理基础详解

    Spring依赖注入与第三方Bean管理基础详解 Spring是一个企业级应用开发框架,它能够帮助开发者做到松耦合、便于测试和灵活性高的设计。其中的依赖注入和第三方Bean管理是Spring最为重要的两个特性之一,也是开发者需要掌握的基础知识。 什么是依赖注入? 依赖注入(DI,Dependency Injection)是指Spring容器将一个Bean的依…

    Java 2023年5月19日
    00
  • System.currentTimeMillis()计算方式与时间的单位转换详解

    针对题目中提出的主题,我将分以下几个部分进行详细解释: System.currentTimeMillis()的计算方式 时间单位转换的详解 示例代码 1. System.currentTimeMillis()的计算方式 在Java中,System.currentTimeMillis()方法可以获取当前系统时间。其返回值是以毫秒为单位表示从1970年1月1日0…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部