SpringBoot学习笔记之mysql相关操作(增删改查)

一、 先交代下运行环境
1. jdk 8
2. SpringBoot 2.0
3. Mysql 5.5
4. Maven
二、创建项目,具体操作省略了
三、项目创建好了,按照国际惯例;先在页面上输出 Hello SpringBoot!
这里写图片描述
对,没错;这就是我们想好的结果。具体怎么做了,很简单
1. 在pom.xml文件中插入template模板插件

 <!--模板插件-->
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-thymeleaf</artifactId>
 </dependency>
  1. 在配置文件中设置项目访问根路径和端口号
server:
  port: 8081  #设置端口号
  servlet:
    context-path: /girl   #设置项目名称
  1. 在Controller中写以下代码
package com.xt.girl.Controller;
import org.springframework.stereotype.Controller;

/**
 * 测试类 helloController
 */
@Controller
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "index";
    }
}

4.在resource目录下新建templates文件夹,在该文件夹下新建html页面
这里写图片描述
5.最后当然是运行项目啦!然后输入地址就能够访问我们的index.html页面了。
四、接下来就是SpringBoot对mysql数据库的操作了
1. 首先也是配置相关插件

<!--jpa插件-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<!--mysql数据库连接驱动插件-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
  1. 数据库驱动相关配置(需要先创建数据库,才能生成对应的表,表是根据实体类生成的)
 datasource:
    driver-class-name: com.mysql.jdbc.Driver  #jdbc驱动
    url: jdbc:mysql://127.0.0.1:3306/dbgirl   #数据库连接地址
    username: root                            #用户名
    password: 123                             #密码
  jpa:                                        #jpa插件配置
    hibernate:
      ddl-auto: update                        #选择创建表的方式(create:每次执行都会创建,update:不存在则创建,存在则不创建)
      naming:                                 #事务回滚时需要配置如下
        physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
    show-sql: true
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
  1. 实体类相关代码
package com.xt.girl.domain;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

/**
 * 实体类 用于映射
 */
@Entity
public class Girl {

    @Id
    @GeneratedValue
    private Integer id;

    private String cupSize;

    private Integer age;

    /**
     * 必须要有无参构造方法,否则不报错
     */
    public Girl() {

    }
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCupSize() {
        return cupSize;
    }

    public void setCupSize(String cupSize) {
        this.cupSize = cupSize;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}
  1. 在Controller层写相关的代码
package com.xt.girl.Controller;

import com.xt.girl.domain.Girl;
import com.xt.girl.repository.GirlRepository;
import com.xt.girl.Service.GirlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
/**
 * GirlController
 */
@RestController //@RestController = @Controller + @ResponseBody 组合注解
public class GirlController {

    @Autowired
    private GirlRepository girlRepository;

    @Autowired
    private GirlService girlService;
    /**
     * 查询所有数据
     * @return
     */
    @GetMapping(value = "/girls")  // @GetMapping(value = "/girls")=@RequestMapping(value="/girls", RequestMethod.GET) 
    public List<Girl> girllist() {
        return girlRepository.findAll();
    }



    /**
     * 新增数据
     * @param cupSize
     * @param age
     * @return
     */
    @PostMapping(value = "/girls")
    public Girl girlAdd(@RequestParam("cupSize") String cupSize,
                          @RequestParam("age") Integer age) {
        Girl girl = new Girl();
        girl.setCupSize(cupSize);
        girl.setAge(age);

        return girlRepository.save(girl);
    }


    @PostMapping(value = "/girls/two")
    public void girlAddTwo() {
        girlService.insertTwo();
    }

    /**
     * 查询某一个
     * @param id
     * @return
     */
    @GetMapping(value = "/girls/{id}")
    public Girl girlFindOne(@PathVariable("id") Integer id) {
        //return girlRepository.findOne(id);
        return girlRepository.findById(id).orElse(null);
    }

    /**
     * 更新
     */
    @PutMapping(value = "/girls/{id}")
    public Girl girlUpdate(@PathVariable("id") Integer id,
                           @RequestParam("cupSize") String cupSize,
                           @RequestParam("age") Integer age) {
        Girl girl = new Girl();
        girl.setId(id);
        girl.setAge(age);
        girl.setCupSize(cupSize);
        return girlRepository.save(girl);
    }

    /**
     * 删除
     * @param id
     */
    @DeleteMapping(value = "girls/{id}")
    public void girlDelete(@PathVariable("id") Integer id) {
        //girlRepository.delete(id);
        girlRepository.deleteById(id);
    }
}
  1. 测试代码是否成功,先查看数据库发现有一条数据
    这里写图片描述
    那我们用postman新增一条数据
    这里写图片描述
    查看mysql数据库看看数据是否插入成功
    这里写图片描述
    接下来,我们试一下查询全部的操作
    这里写图片描述
    其他的我就不测试了,源码见:https://github.com/xt998/SpringBoot-jdbc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值