Java框架spring Boot学习笔记(五):Spring Boot操作MySQL数据库增、删、改、查
在pom.xml添加一下代码,添加操作MySQL的依赖jar包。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
新建dbpeople的一个数据库,用户名root,密码123456
编写生成配置文件application-prod.yml
server:
port: 8082
context-path: /
修改application.yml文件
spring:
profiles:
active: prod
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/dbpeople?useSSL=true
username: root password: 123456 jpa: hibernate: ddl-auto: create #update show-sql: true
添加一个people类People.java
package com.example.demo; import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id; //@Entity对应数据库中的一个表
@Entity
public class People { //@Id配合@GeneratedValue,表示id自增长
@Id
@GeneratedValue
private Integer id;
private String name;
private Integer age; //必须要有一个无参的构造函数,不然数据库会报错
public People() {
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
}
}
添加一个注入类PeopleProperties.java
package com.example.demo; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; //获取注入还需要加一个@Component注解,@ConfigurationProperties(prefix = "people")获取前缀是people的配置
@Component
@ConfigurationProperties(prefix = "people")
public class PeopleProperties { private String name;
private Integer age; public void setName(String name) {
this.name = name;
}
public void setAge(Integer age) {
this.age = age;
} public String getName() { return name; }
public Integer getAge() { return age; }
}
编写一个数据库操作自定义接口,定制操作接口,这里只演示定制查询接口
PeopleRepository.java
package com.example.demo; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; public interface PeopleRepository extends JpaRepository<People,Integer> {
//通过年龄来查询
public List<People> findByAge(Integer age);
}
编写数据库操作类,可以进行增、删、改、查等操作。
package com.example.demo; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import java.util.List; @RestController
public class PeopleController {
@Autowired
private PeopleRepository peopleRepository; /**
* 查询数据库中所有列表
* @return
*/
@GetMapping(value = "/people")
public List<People> girlList(){
return peopleRepository.findAll();
} /**
* 增加一个人的数据
* @param name
* @param age
* @return
*/
@PostMapping(value = "/people")
public People peopleAdd(@RequestParam("name") String name,
@RequestParam("age") Integer age){
People people = new People();
people.setName(name);
people.setAge(age); return peopleRepository.save(people);
} /**
* 查询一个人
* @param id
* @return
*/
@GetMapping(value = "/people/{id}")
public People peopleFindOne(@PathVariable("id") Integer id){
return peopleRepository.findOne(id);
} /**
* 修改一个人的数据
* @param id
* @param name
* @param age
*/
@PutMapping(value = "/people/{id}")
public People peopleUpdate(@PathVariable("id") Integer id,
@RequestParam("name") String name,
@RequestParam("age") Integer age){
People people = new People();
people.setId(id);
people.setName(name);
people.setAge(age); return peopleRepository.save(people);
} /**
* 删除一个人的数据
* @param id
*/
@DeleteMapping(value = "/people/{id}")
public void peopleDelete(@PathVariable("id") Integer id){
peopleRepository.delete(id);
} /**
* 通过年龄查询列表
* @param age
* @return
*/
@GetMapping(value = "/people/age/{age}")
public List<People> peopleListByAge(@PathVariable("age") Integer age){
return peopleRepository.findByAge(age);
}
}
运行,使用postman工具发包给运行起来的服务器
增加三条数据
打开数据库可以看到增加了三条数据
通过id查询数据,看到返回id=2的数据
查询年龄age为22的数据列表
可以看到返回两条age=22的数据
修改数据
可以看到id=2的数据修改成了
删除id=2的数据
可以看到id=2的数据已经被删掉了。
Java框架spring Boot学习笔记(五):Spring Boot操作MySQL数据库增、删、改、查的更多相关文章
- Nodejs学习笔记(一)--- 操作Mysql数据库
对于一门语言的学习,我个人觉得最好的方式就是通过一个项目来展示,所以从基本的一些模块去了解是最好的方式对于Mysql怎么去链接数据库这个我是在网上找到的(其实一直想找官方文档的,发现没有它的踪迹,(后 ...
- C#学习笔记(3)——操作sqlserver数据库增删改查
说明(2017-5-25 16:29:35): 1. VS2010,视图->服务器资源管理器->数据连接->右键添加连接->服务器名(本机可以用点)->选择数据库-> ...
- C#学习笔记(2)——操作sqlite数据库增删改查
说明(2017-5-25 10:49:50): 1. app.config文件 Alt+Shift+C创建类,选择“应用程序配置文件”,添加<connectionStrings>,要先打个 ...
- ES6学习笔记<五> Module的操作——import、export、as
import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...
- spring cloud学习笔记五 网关服务zuul
网关服务是指,客户端发送的请求不用直接访问特定的微服务接口,而且是经过网关服务的接口进行交互,网关服务再去到特定的微服务中进行调用. 网关服务的路由功能和Nginx的反向代理一样,所有的服务都先会 ...
- spring揭密学习笔记(1) --spring的由来
1.spring起源于在EJB暴露出各种严重问题的情况应运而生. Spring是于2003年兴起的一个轻量级的Java开发框架, Spring倡导一切从实际出发,以实用的态度来选择适合当前开发场景的解 ...
- Java框架spring 学习笔记(十五):操作MySQL数据库
新建一个工程,添加对数据库的支持 下载mysql驱动包 mysql-connector-java-5.1.7-bin.jar,快捷键ctrl+alt+shift+s,添加jar包到工程 编写JdbcT ...
- Spring Boot 学习笔记 - 认识Spring Boot框架
因各种原因,.NET前端工程师重新接触JAVA,真是向全栈的路上又迈出了无奈的一步. 下面正文: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初 ...
- Spring Boot学习笔记(五)整合mybatis
pom文件里添加依赖 <!-- 数据库需要的依赖 --> <dependency> <groupId>org.mybatis.spring.boot</gro ...
随机推荐
- 执行代码出现ImportError:attempted relative import with no known parent package
前言 在这篇文章中,我将会解析 ImportError: attempted relative import with no known parent package 这个异常的原因.当你在运行的py ...
- 如何开启 MySQL InnoDB 共享表空间和独立表空间
修改数据库的表空间管理方式 修改my.ini文件的innodb_file_per_table的参数值即可,但是修改不能影响之前已经使用过的共享表空间和独立表空间: innodb_file_per_ta ...
- 使用java注解实现toJson方法
如果我有一个对象user,它有几个属性,我想把该对象序列化成一个json字符串,怎么做?我怎么把这种类型的问题实现成一个函数? 注解类似于在被注解的对象上,添加一些简单的属性.在运行时解析这些属性,以 ...
- 关于使用format()方法格式化字符串,读这一篇就够了!
从Python 2.6开始,又出现了另外一种格式化字符串的方法——format()方法.format()方法是字符串众多方法中的一个,调用这个方法时要使用点操作符(.),该方法返回一个格式化好的字符串 ...
- centos7卸载旧jdk安装新jdk1.8
卸载旧JDK版本 需卸载centos7自带的JDK1.7 rpm -qa|grep jdk 列出已安装jdk版本 rpm -e --nodeps java-1.7.0-openjdk-1.7. ...
- mysql error(2003) 10060的再解决
前段时间在window虚拟机上处理过这样的问题 现在在linux上也遇到了这样的问题一项一项的排查 1.网络问题,ping的通 但是telnet (ip) (端口号)失败,telnet(ip)都失败 ...
- docker镜像的常用操作
获取镜像 比如说我们可以这样操作 当然把这个镜像拉过来时间非常长. 查看镜像列表 命令: docker images 说明: 使用docker images命令可以列出本地主机上已有的镜像. 信息 ...
- 练习: bs4 简单爬取 + matplotlib 折线图显示 (关键词,职位数量、起薪)
要看一种技术在本地的流行程度,最简单的就是找招聘网站按关键词搜索. 比如今天查到的职位数量是vue 1296个,react 1204个,angular 721个.国际上比较流行的是react,本地市场 ...
- orcal - 伪列
数据伪劣 行号 ROWNUM SELECT ROWNUM, empno,ename,sal from emp; 取出第一行数据 SELECT ROWNUM, empno,ename,sal from ...
- shiro初识
shiro 可以做认证.授权.加密.会话管理.与web集成.缓存. 在本文中,主要使用认证和授权这两个功能. 在shiro框架中,有些很重要的概念: Subject 很多人把它理解为当前用户,这 ...