在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数据库增、删、改、查的更多相关文章

  1. Nodejs学习笔记(一)--- 操作Mysql数据库

    对于一门语言的学习,我个人觉得最好的方式就是通过一个项目来展示,所以从基本的一些模块去了解是最好的方式对于Mysql怎么去链接数据库这个我是在网上找到的(其实一直想找官方文档的,发现没有它的踪迹,(后 ...

  2. C#学习笔记(3)——操作sqlserver数据库增删改查

    说明(2017-5-25 16:29:35): 1. VS2010,视图->服务器资源管理器->数据连接->右键添加连接->服务器名(本机可以用点)->选择数据库-> ...

  3. C#学习笔记(2)——操作sqlite数据库增删改查

    说明(2017-5-25 10:49:50): 1. app.config文件 Alt+Shift+C创建类,选择“应用程序配置文件”,添加<connectionStrings>,要先打个 ...

  4. ES6学习笔记<五> Module的操作——import、export、as

    import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...

  5. spring cloud学习笔记五 网关服务zuul

    网关服务是指,客户端发送的请求不用直接访问特定的微服务接口,而且是经过网关服务的接口进行交互,网关服务再去到特定的微服务中进行调用.   网关服务的路由功能和Nginx的反向代理一样,所有的服务都先会 ...

  6. spring揭密学习笔记(1) --spring的由来

    1.spring起源于在EJB暴露出各种严重问题的情况应运而生. Spring是于2003年兴起的一个轻量级的Java开发框架, Spring倡导一切从实际出发,以实用的态度来选择适合当前开发场景的解 ...

  7. Java框架spring 学习笔记(十五):操作MySQL数据库

    新建一个工程,添加对数据库的支持 下载mysql驱动包 mysql-connector-java-5.1.7-bin.jar,快捷键ctrl+alt+shift+s,添加jar包到工程 编写JdbcT ...

  8. Spring Boot 学习笔记 - 认识Spring Boot框架

    因各种原因,.NET前端工程师重新接触JAVA,真是向全栈的路上又迈出了无奈的一步. 下面正文: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初 ...

  9. Spring Boot学习笔记(五)整合mybatis

    pom文件里添加依赖 <!-- 数据库需要的依赖 --> <dependency> <groupId>org.mybatis.spring.boot</gro ...

随机推荐

  1. 执行代码出现ImportError:attempted relative import with no known parent package

    前言 在这篇文章中,我将会解析 ImportError: attempted relative import with no known parent package 这个异常的原因.当你在运行的py ...

  2. 如何开启 MySQL InnoDB 共享表空间和独立表空间

    修改数据库的表空间管理方式 修改my.ini文件的innodb_file_per_table的参数值即可,但是修改不能影响之前已经使用过的共享表空间和独立表空间: innodb_file_per_ta ...

  3. 使用java注解实现toJson方法

    如果我有一个对象user,它有几个属性,我想把该对象序列化成一个json字符串,怎么做?我怎么把这种类型的问题实现成一个函数? 注解类似于在被注解的对象上,添加一些简单的属性.在运行时解析这些属性,以 ...

  4. 关于使用format()方法格式化字符串,读这一篇就够了!

    从Python 2.6开始,又出现了另外一种格式化字符串的方法——format()方法.format()方法是字符串众多方法中的一个,调用这个方法时要使用点操作符(.),该方法返回一个格式化好的字符串 ...

  5. centos7卸载旧jdk安装新jdk1.8

    卸载旧JDK版本 需卸载centos7自带的JDK1.7 rpm -qa|grep jdk     列出已安装jdk版本 rpm -e --nodeps java-1.7.0-openjdk-1.7. ...

  6. mysql error(2003) 10060的再解决

    前段时间在window虚拟机上处理过这样的问题 现在在linux上也遇到了这样的问题一项一项的排查 1.网络问题,ping的通 但是telnet (ip)  (端口号)失败,telnet(ip)都失败 ...

  7. docker镜像的常用操作

    获取镜像 比如说我们可以这样操作 当然把这个镜像拉过来时间非常长.   查看镜像列表 命令: docker images 说明: 使用docker images命令可以列出本地主机上已有的镜像. 信息 ...

  8. 练习: bs4 简单爬取 + matplotlib 折线图显示 (关键词,职位数量、起薪)

    要看一种技术在本地的流行程度,最简单的就是找招聘网站按关键词搜索. 比如今天查到的职位数量是vue 1296个,react 1204个,angular 721个.国际上比较流行的是react,本地市场 ...

  9. orcal - 伪列

    数据伪劣 行号 ROWNUM SELECT ROWNUM, empno,ename,sal from emp; 取出第一行数据 SELECT ROWNUM, empno,ename,sal from ...

  10. shiro初识

    shiro 可以做认证.授权.加密.会话管理.与web集成.缓存. 在本文中,主要使用认证和授权这两个功能. 在shiro框架中,有些很重要的概念: Subject    很多人把它理解为当前用户,这 ...