Spring如何整合Hibernate

 时间:2024-10-18 21:13:01

1、准备数据库#创建数据库CREATE SCHEMA `springdata`CHARSET utf8COLLATE utf8_general_ci;#使用数据库USE `springdata`;

2、创建项目此处创建Maven项目来进行Spring整合Hibernate的学习添加jdbc.properties、applicationContext.xml配置文件

Spring如何整合Hibernate

3、导入Spring整合Hibernate所需的依赖

Spring如何整合Hibernate
Spring如何整合Hibernate

4、配置jdbc.propertiesjdbc.driver=com.mysql.jdbc.Dr坡纠课柩iverjdbc.url租涫疼迟=jdbc:mysql://localhost:3308/springdata?useSSL=true&\ useUnicode=true&characterEncoding=UTF-8jdbc.user=rootjdbc.password=你的数据库用户密码

5、编写Spring整合hibernate的配置文件application.xml

Spring如何整合Hibernate

6、创建实体类Userpackage site.hclz.springdata.pojo;import javax.persistence.*;import java.io.Serializable;@Entity@Table(name = "t_user")public class User implements Serializable { @Id@Column(name = "u_id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer userId; @Basic@Column(name = "u_name") private String userName; @Basic@Column(name = "u_age") private Integer userAge; @Basic@Column(name = "u_address") private String userAddress; public User(){} public User(Integer userId, String userName, Integer userAge, String userAddress) { this.userId = userId; this.userName = userName; this.userAge = userAge; this.userAddress = userAddress; } //省略getter/setter方法 toString方法}

7、UserDao接口package site.hclz.springdata.蟠校盯昂dao;import site.hclz.springdata.pojo.User;import java.util.List;public interface UserDao { //增加 Integer insertUser(User user); //删除 void deleteUser(Integer userId); //修改 void updateUser(User user); //查询 User selectUserById(Integer userId); //HQL带条件查询 List<User> selectUserListByAddressUseHQL(String address); //SQL带条件查询 List<User> selectUserListByAddressUseSQL(String address); //QBC带条件查询(hibernate5.2中已过时,推荐使用jpaCriteria) List<User> selectUserListByAddressUseQBC(String address);}

8、接口实现类UserDaoImplpackage site.hclz.springdata.dao.imp;i罪焐芡拂mport org.hibernate.Criteria;import org.hibernate.Session;import org.hibernate.criterion.Restrictions;import org.hibernate.query.NativeQuery;import org.hibernate.query.Query;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.orm.hibernate5.HibernateTemplate;import org.springframework.stereotype.Repository;import site.hclz.springdata.dao.UserDao;import site.hclz.springdata.pojo.User;import java.util.List;@Repository("userDao")public class UserDaoImpl implements UserDao { @Autowired private HibernateTemplate hibernateTemplate; @Override public Integer insertUser(User user) { return (Integer) hibernateTemplate.save(user); } @Override public void deleteUser(Integer userId) { hibernateTemplate.delete(hibernateTemplate.get(User.class,userId)); } @Override public void updateUser(User user) { hibernateTemplate.update(user); } @Override public User selectUserById(Integer userId) { return hibernateTemplate.get(User.class,userId); } @Override public List<User> selectUserListByAddressUseHQL(String address) { Session session = hibernateTemplate.getSessionFactory().getCurrentSession(); Query<User> query = session.createQuery( "from User where userAddress=:addr", User.class).setParameter("addr", address); return query.list(); } @Override @SuppressWarnings("unchecked") public List<User> selectUserListByAddressUseSQL(String address) { Session session = hibernateTemplate.getSessionFactory().getCurrentSession(); NativeQuery nativeQuery = session.createSQLQuery( "SELECT * FROM springdata.t_user WHERE u_address=:addr") .addEntity(User.class) .setParameter("addr",address); return nativeQuery.list(); } @Override @SuppressWarnings("unchecked") public List<User> selectUserListByAddressUseQBC(String address) { Session session = hibernateTemplate.getSessionFactory().getCurrentSession(); //@deprecated (since 5.2) for Session, use the JPA Criteria Criteria criteria = session.createCriteria(User.class); criteria.add(Restrictions.eq("userAddress",address)); return criteria.list(); }}

9、编写测试类测试Spring整合Hibernate

Spring如何整合Hibernate
  • 宝宝什么时候可以看电视呢
  • 爆炒湘味大白菜
  • 英雄联盟提莫技能介绍
  • 8款易拼防吞咽的大颗粒积木精选
  • 如何配置k8s集群的命令自动补全功能
  • 热门搜索
    关于名人的手抄报 科技手抄报内容大全 我和我的祖国手抄报简单又漂亮 八一建军节手抄报 关于长城的手抄报 劳动节手抄报内容 十一手抄报 文明手抄报图片 大自然的手抄报 关于妇女节的手抄报