SpringBoot集成JPA用法笔记

今天给大家整理SpringBoot集成JPA用法。希望对大家能有所帮助!

1.搭建SpringBoot项目

2.新建配置文件 application.yml

 
 
 
 
  1. server:
  2. port: 8090
  3. spring:
  4. #通用的数据源配置
  5.   datasource:
  6. driverClassName: com.mysql.jdbc.Driver
  7. url: jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf8
  8. username: root
  9. password: root
  10. jpa:
  11. #将默认的存储引擎切换为 InnoDB
  12.     database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
  13. #配置在日志中打印出执行的 SQL 语句信息。
  14.     show-sql: true
  15.     hibernate:
  16. #配置指明在程序启动的时候要删除并且创建实体类对应的表
  17.       # validate 加载 Hibernate 时,验证创建数据库表结构
  18.       # create 每次加载 Hibernate ,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
  19.       # create-drop 加载 Hibernate 时创建,退出是删除表结构(退出是指退出sessionFactory)
  20.       # update 加载 Hibernate 自动更新数据库结构
  21.       # none 不启用
  22.       ddl-auto: none

 3、新建用户实体类 UserInfoDAO.java

 
 
 
 
  1. package my.springboot.jpa.entity;
  2. import javax.persistence.*;
  3. import java.util.Date;
  4. /**
  5.  * 用户表实体
  6.  * **/
  7. @Entity
  8. @Table(name = "userinfo")
  9. public class UserInfoDAO {
  10. @Id
  11. @GeneratedValue(strategy = GenerationType.IDENTITY)
  12. private  Integer id;
  13. @Column
  14. private String userName;
  15. @Column
  16. private Integer age;
  17. @Column(length = 500)
  18. private String address;
  19. @Column(name = "create_date")
  20. private Date createDate;
  21. @Column(name = "create_user")
  22. private String createUser;
  23. public Integer getId() {
  24. return id;
  25.     }
  26. public void setId(Integer id) {
  27. this.id = id;
  28.     }
  29. public String getUserName() {
  30. return userName;
  31.     }
  32. public void setUserName(String userName) {
  33. this.userName = userName;
  34.     }
  35. public Integer getAge() {
  36. return age;
  37.     }
  38. public void setAge(Integer age) {
  39. this.age = age;
  40.     }
  41. public String getAddress() {
  42. return address;
  43.     }
  44. public void setAddress(String address) {
  45. this.address = address;
  46.     }
  47. public Date getCreateDate() {
  48. return createDate;
  49.     }
  50. public void setCreateDate(Date createDate) {
  51. this.createDate = createDate;
  52.     }
  53. public String getCreateUser() {
  54. return createUser;
  55.     }
  56. public void setCreateUser(String createUser) {
  57. this.createUser = createUser;
  58.     }
  59. }

4、仓库接口类 UserIfoRepository

 
 
 
 
  1. package my.springboot.jpa.dao;
  2. import my.springboot.jpa.entity.UserInfoDAO;
  3. import org.springframework.data.jpa.repository.JpaRepository;
  4. import org.springframework.stereotype.Repository;
  5. /**
  6.  * 仓库接口类 UserIfoRepository
  7.  **/
  8. @Repository
  9. public interface UserIfoRepository extends 
  10. JpaRepository {
  11. }

5、新建测试用户类 UserInfoTest.java

 
 
 
 
  1. package my.springboot.jpa;
  2. import my.springboot.jpa.dao.UserIfoRepository;
  3. import my.springboot.jpa.entity.UserInfoDAO;
  4. import org.junit.Test;
  5. import org.junit.runner.RunWith;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.boot.test.context.SpringBootTest;
  8. import org.springframework.test.context.junit4.SpringRunner;
  9. import java.util.Date;
  10. import java.util.List;
  11. import java.util.Optional;
  12. /**
  13.  * 测试UserInfo用法
  14.  **/
  15. @RunWith(SpringRunner.class)
  16. @SpringBootTest
  17. public class UserInfoTest {
  18. @Autowired
  19.     UserIfoRepository userIfoRepository;
  20. @Test
  21.     public void test() {
  22. //插入用户测试
  23.         UserInfoDAO dao = new UserInfoDAO();
  24.         dao.setUserName("小明");
  25.         dao.setAge(32);
  26.         dao.setCreateDate(new Date());
  27.         dao.setCreateUser("管理员");
  28.         dao.setAddress("苏州");
  29. userIfoRepository.save(dao);
  30.         UserInfoDAO dao2 = new UserInfoDAO();
  31.         dao2.setUserName("小张");
  32.         dao2.setAge(35);
  33.         dao2.setCreateDate(new Date());
  34.         dao2.setCreateUser("管理员");
  35.         dao2.setAddress("南京");
  36. userIfoRepository.save(dao2);
  37. // 查询多条记录 打印
  38.         List list = userIfoRepository.findAll();
  39. for (UserInfoDAO item : list) {
  40.             System.out.println("姓名:" + item.getUserName() 
  41. + " 年龄:" + item.getAge());        }
  42. // 查询单个记录
  43.         Optional mo = userIfoRepository.findById(2);
  44.         System.out.println(mo.get().getUserName());
  45. //更新操作
  46.         mo.get().setUserName("小明123");
  47. userIfoRepository.save(mo.get());
  48.         System.out.println(mo.get().getUserName());
  49. //删除记录
  50.         userIfoRepository.delete(mo.get());
  51.     }
  52. }

6、配置生成数据表

 
 
 
 
  1. package my.springboot.jpa;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.boot.autoconfigure.domain.EntityScan;
  5. import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  6. @SpringBootApplication
  7. @EntityScan(basePackages = {"my.springboot.jpa.entity"})
  8. @EnableJpaRepositories(basePackages = {"my.springboot.jpa.dao"})
  9. public class JpaApplication {
  10. public static void main(String[] args) {
  11.         SpringApplication.run(JpaApplication.class, args);
  12.     }
  13. }
  14. @EntityScan(basePackages = {"my.springboot.jpa.entity"})
  15. @EnableJpaRepositories(basePackages = {"my.springboot.jpa.dao"})

7、项目结构图

本文转载自微信公众号「IT技术分享社区」,可以通过以下二维码关注。转载本文请联系IT技术分享社区公众号。

当前文章:SpringBoot集成JPA用法笔记
标题来源:http://www.shufengxianlan.com/qtweb/news22/440472.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联