当前位置:Gxlcms > 数据库问题 > spring-data-jpa操作数据库

spring-data-jpa操作数据库

时间:2021-07-01 10:21:17 帮助过:12人阅读

@Entity //标明根据该类创建数据表 public class People { @Id @GeneratedValue //主键自增 private Long id; private String name; public People(){ //必须要有无参构造 } }   application.yml默认配置文件: #默认配置文件 spring: profiles: active: default datasource: #配置数据库 driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/hap_dev username: root password: tiger jpa: hibernate: ddl-auto: create #运行时自动根据实体类创建数据库表 show-sql: true   注意: ddl-auto: create,即运行时自动根据实体类创建people数据库表 ,若数据库表 people已存在则先删除再创建 ddl-auto: update,即运行时自动根据实体类创建people数据库表 ,若数据库表 people已存在则不做任何操作 ddl-auto: create-drop,即运行时自动根据实体类创建people数据库表,当应用停 止时删除该表 ddl-auto: none,即运行时什么也不干,无数据库表的操作 ddl-auto: validate,即运行时验证实体类属性与数据库表字段是否一致,不一致 则抛异常     pom.xml依赖(基本的spring boot依赖要有) <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>   3、由spring-data-jpa操作数据库(结合restful风格) Service接口类: // 继承jpa操作数据库的接口,并指定实体类名和主键类型 public interface PeopleRepository extends JpaRepository<People,Long> { public List<People> findByName(String name);//自定义的方法命名要符合这个格式 } Controller类: @RestController public class PeopleController { @Autowired private PeopleRepository peopleRepository;   //查询people表所有数据 @GetMapping("/peoples") public List<People> getAll(){ return peopleRepository.findAll(); }   // 插入一条数据 @PostMapping("/peoples") public People addOne(@RequestParam("name") String name){ People p=new People(); p.setName(name); return peopleRepository.save(p); }   //由id获取一条数据 @GetMapping("/peoples/{id}") public People getOne(@PathVariable("id") Long id){ return peopleRepository.findOne(id); }   //由id更新、插入一条数据 @PutMapping("/peoples/{id}") public People putOne(@PathVariable("id") Long id,@RequestParam("name") String name){ People p=new People(); p.setId(id); p.setName(name); return peopleRepository.save(p); }   // 由id删除一条数据 @DeleteMapping("/peoples/{id}") public void delOne(@PathVariable("id") Long id){ peopleRepository.delete(id); }   //通过name查询一条或多条数据 @GetMapping("/peoples/name/{name}") public List<People> findByName(@PathVariable("name") String name){ return peopleRepository.findByName(name); } }        

spring-data-jpa操作数据库

标签:local   none   pat   source   repo   public   restful   oca   val   

人气教程排行