springBoot的数据库操作
2017-11-05 22:03
176 查看
一:操作数据库起步
1.Spring-Data-Jpa
JPA定义了对象持久化的标准。
目前实现了有Hibernate,TopLink
2.pom添加依赖
3.对jps进行配置
4.新建一个people的数据库
CREATE DATABASE IF NOT EXISTS yiibaidb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
不然,程序会报未发现数据库。
但是,表不需要新建,这个通过类就可以生成。
5.student的类
可以映射成数据库的字段。
Entity注解表示:类对应一个数据库的一个表。
6.自动生成数据库
7.注意点
配置文件的ddi-auto:create
意思的每次启动的时候都会把数据库清空。
ddl-auto:update
如果没有表,会自动创建,但是如果里面有数据,就不会清空数据。
二:操作数据的API
1.新建类(继续使用上面的Sytdent.java类)
2.新建接口
3.新建controller类
4.效果
5.添加一个学生记录
6.效果
7.查询一个人,根据id
8.效果
9.更新
10.效果
11.删除
12.效果
三:扩展
1.通过年龄还来查询
2.扩展接口
这个方法名比较有讲究。
3.程序
4.效果
1.Spring-Data-Jpa
JPA定义了对象持久化的标准。
目前实现了有Hibernate,TopLink
2.pom添加依赖
1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-data-jpa</artifactId> 4 </dependency> 5 6 <dependency> 7 <groupId>mysql</groupId> 8 <artifactId>mysql-connector-java</artifactId> 9 </dependency>
3.对jps进行配置
1 spring: 2 profiles: 3 active: dev 4 datasource: 5 driver-class-name: com.mysql.jdbc.Driver 6 url: jdbc:mysql://127.0.0.1:3308/people?useSSL=false 7 username: root 8 password: 123456 9 jpa: 10 hibernate: 11 ddl-auto: create 12 show-sql: true
4.新建一个people的数据库
CREATE DATABASE IF NOT EXISTS yiibaidb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
不然,程序会报未发现数据库。
但是,表不需要新建,这个通过类就可以生成。
5.student的类
可以映射成数据库的字段。
Entity注解表示:类对应一个数据库的一个表。
1 package com.caojun.springboot; 2 3 import javax.persistence.Entity; 4 import javax.persistence.GeneratedValue; 5 import javax.persistence.Id; 6 7 @Entity 8 public class Student { 9 10 @Id 11 @GeneratedValue 12 private Integer id; 13 private String name; 14 private Integer age; 15 16 public Student(){ 17 18 } 19 20 public Integer getId() { 21 return id; 22 } 23 24 public void setId(Integer id) { 25 this.id = id; 26 } 27 28 public String getName() { 29 return name; 30 } 31 32 public void setName(String name) { 33 this.name = name; 34 } 35 36 public Integer getAge() { 37 return age; 38 } 39 40 public void setAge(Integer age) { 41 this.age = age; 42 } 43 }
6.自动生成数据库
7.注意点
配置文件的ddi-auto:create
意思的每次启动的时候都会把数据库清空。
ddl-auto:update
如果没有表,会自动创建,但是如果里面有数据,就不会清空数据。
二:操作数据的API
1.新建类(继续使用上面的Sytdent.java类)
2.新建接口
1 package com.caojun.springboot; 2 3 import org.springframework.data.jpa.repository.JpaRepository; 4 5 public interface StudentResitory extends JpaRepository<Student,Integer> { 6 }
3.新建controller类
查询数据库中的所有
1 package com.caojun.springboot; 2 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.web.bind.annotation.GetMapping; 5 import org.springframework.web.bind.annotation.RestController; 6 7 import java.util.List; 8 9 @RestController 10 public class StudentController { 11 12 @Autowired 13 private StudentResitory studentResitory; 14 15 /** 16 * 查询数据库中的所有 17 * @return 18 */ 19 @GetMapping(value = "/hello") 20 public List<Student> getStuList(){ 21 return studentResitory.findAll(); 22 } 23 }
4.效果
5.添加一个学生记录
1 /** 2 * 添加一个学生记录 3 */ 4 @PostMapping(value = "/hello") 5 public Student addStu(@RequestParam("name") String name,@RequestParam("age") Integer age){ 6 Student stu=new Student(); 7 stu.setName(name); 8 stu.setAge(age); 9 return studentResitory.save(stu); 10 }
6.效果
7.查询一个人,根据id
1 /** 2 * 查询一个学生,根据字段id 3 */ 4 @GetMapping(value = "/hello/{id}") 5 public Student getStu(@PathVariable("id") Integer id){ 6 return studentResitory.findOne(id); 7 }
8.效果
9.更新
1 /** 2 * 更新数据库 3 */ 4 @PutMapping(value = "/hello/{id}") 5 public Student updateStu(@PathVariable("id") Integer id, 6 @RequestParam("name") String name, 7 @RequestParam("age") Integer age ){ 8 Student stu=new Student(); 9 stu.setId(id); 10 stu.setName(name); 11 stu.setAge(age); 12 return studentResitory.save(stu); 13 }
10.效果
11.删除
1 /** 2 * 删除数据 3 */ 4 @DeleteMapping(value = "/hello/{id}") 5 public void deleteStu(@PathVariable("id") Integer id){ 6 studentResitory.delete(id); 7 }
12.效果
三:扩展
1.通过年龄还来查询
2.扩展接口
这个方法名比较有讲究。
1 package com.caojun.springboot; 2 3 import org.springframework.data.jpa.repository.JpaRepository; 4 5 import java.util.List; 6 7 public interface StudentResitory extends JpaRepository<Student,Integer> { 8 9 //根据年龄来查询数据 10 public List<Student> findByAge(Integer age); 11 }
3.程序
1 /** 2 * 根据年龄进行查询 3 */ 4 @GetMapping(value = "/hello/age/{age}") 5 public List<Student> getStuList(@PathVariable("age") Integer age){ 6 return studentResitory.findByAge(age); 7 }
4.效果
相关文章推荐
- springboot与mybatis整合操作数据库
- SpringBoot学习之路:03.Spring Boot使用Jpa操作数据库
- 【SpringBoot】2小时学会SpringBoot学习笔记(第5章 数据库操作 上 )
- Springboot 之 JPA数据库操作进阶篇
- SpringBoot项目 使用Sprin Data Jpa 操作数据库
- springBoot+Jpa(hibernate)数据库基本操作
- SpringBoot 数据库操作、事务
- Spring Boot教程(二十九)使用JdbcTemplate操作数据库
- SpringBoot学习 —— JdbcTemplate操作数据库
- 在spring Boot中使用Spring-data-jpa操作数据库
- SpringBoot入门:(2)jpa方式操作数据库
- SpringBoot实现数据库密码的加密操作
- spring boot 拦截器 注入dao 操作数据库时dao 为null
- (转)Spring Boot 实用MyBatis做数据库操作
- spring boot数据库操作(以mysql为例)
- 02_Spring Boot 数据库操作 [基于Spring Boot、Mysql、Jpa]
- SpringBoot中连接MYSQL数据库,并使用JPA进行数据库的相关操作
- SpringBoot 数据库操作(下)
- spring-Boot JPA操作数据库
- springboot+mybatis+easyui 前台实现数据库信息的增删改操作