当前位置: 首页 > 科技观察

SpringBoot集成JPA使用注意事项

时间:2023-03-12 22:57:31 科技观察

今天就为大家整理一下SpringBoot集成JPA的使用方法。希望对大家有所帮助!1.搭建一个SpringBoot工程2.新建配置文件application.ymlserver:port:8090spring:#通用数据源配置datasource:driverClassName:com.mysql.jdbc.Driverurl:jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf8username:rootpassword:rootjpa:#将默认存储引擎切换为InnoDBdatabase-platform:org.hibernate.dialect.MySQL5InnoDBDialect#配置在日志中打印出执行过的SQL语句信息。show-sql:truehibernate:#Configuration表示在程序启动时删除和创建实体类对应的表#validate加载Hibernate时,验证数据库表结构的创建#create每次加载Hibernate时,数据库表结构被重新创建,这就是导致数据库表数据丢失的原因。#create-drop在加载Hibernate时创建,exit是删除表结构(exit是指退出sessionFactory)#update加载Hibernate自动更新数据库结构#none不启用ddl-auto:none3,创建新的用户实体classUserInfoDAO.javapackagemy.springboot.jpa.entity;importjavax.persistence.*;importjava.util.Date;/***用户表实体***/@Entity@Table(name="userinfo")publicclassUserInfoDAO{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privateIntegerid;@ColumnprivateStringuserName;@ColumnprivateIntegerage;@Column(length=500)privateStringaddress;@Column(name="create_date")privateDatecreateDate;@Column(name="create_user")privateStringcreateUser;publicIntegergetId(){returnid;}publicvoidset)Id(整数{this.id=id;}publicStringgetUserName(){returnuserName;}publicvoidsetUserName(StringuserName){this.userName=userName;}publicIntegergetAge(){returnage;}publicvoidsetAge(Integerage){this.age=age;}publicStringgetAddress(){returnaddress;}酒吧licvoidsetAddress(Stringaddress){this.address=address;}publicDategetCreateDate(){returncreateDate;}publicvoidsetCreateDate(DatecreateDate){this.createDate=createDate;}publicStringgetCreateUser(){returncreateUser;}publicvoidsetCreateUser(StringcreateUser){this.createUser=createUser;}}4、库接口类UserIfoRepositorypackagemy.springboot.jpa.dao;importmy.springboot。jpa.entity.UserInfoDAO;importorg.springframework.data.jpa.repository.JpaRepository;importorg.springframework.stereotype.Repository;/***库接口类UserIfoRepository**/@RepositorypublicinterfaceUserIfoRepositoryextendsJpaRepository{}5、新构建测试用户类UserInfoTest.javapackagemy.springboot.jpa;importmy.springboot.jpa.dao.UserIfoRepository;importmy.springboot.jpa.entity.UserInfoDAO;importorg.junit.Test;importorg.junit.runner.RunWith;importorg.springframework.beans。factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;importorg.springframework.test.context.junit4.SpringRunner;importjava.util.Date;importjava.util.List;importjava.util.Optional;/***测试使用rInfo用法**/@RunWith(SpringRunner.class)@SpringBootTestpublicclassUserInfoTest{@AutowiredUserIfoRepositoryuserIfoRepository;@Testpublicvoidtest(){//插入用户测试UserInfoDAOdao=newUserInfoDAO();dao.setUserName("小明");dao.setAge(32);dao.setCreateDate(newDate());dao.setCreateUser("Administrator");dao.setAddress("苏州");userIfoRepository.save(dao);UserInfoDAOdao2=newUserInfoDAO();dao2.setUserName("小张");dao2.setAge(35);dao2.setCreateDate(newDate());dao2.setCreateUser("Administrator");dao2.setAddress("南京");userIfoRepository.save(dao2);//查询多条记录并打印Listlist=userIfoRepository.findAll();for(UserInfoDAOitem:list){System.out.println("Name:"+item.getUserName()+"Age:"+item.getAge());}//查询单条记录Optionalmo=userIfoRepository.findById(2);System.out.println(mo.get().getUserName());//更新操作mo.get().setUserName("小明123");userIfoRepository.save(mo.get());System.out.println(mo.get().getUserName());//删除记录userIfoRepository.delete(mo.get());}}6.配置生成数据表packagemy.springboot.jpa;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.boot.autoconfigure.domain.EntityScan;importorg.springframework.data.jpa.repository.config.EnableJpaRepositories;@SpringBootApplication@EntityScan(basePackages={"my.springboot.jpa.entity"})@EnableJpaRepositories(basePackages={"my.springboot.jpa.dao"})publicclassJpaApplication{publicstaticvoidmain(String[]args){SpringApplication.run(JpaApplication.class,args);}}@EntityScan(basePackages={"my.springboot.jpa.entity"})@EnableJpaRepositories(basePackages={"my.springboot.jpa.dao"})七、项目结构图联系IT技术分享社区公众号。