1先建立一个简单的maven项目,添加相应的依赖。其中有spring boot的父依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.7.RELEASE</version> </parent>(主要是用来制裁整个spring boot相关的依赖的版本,也就是只要是 <groupId>org.springframework.boot</groupId>开头的版本都是2.0.7,以及springboot的启动依赖,用来启动一个web,<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency>这个代码帮助java连上数据库,

<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency>

这是导入mybatis的框架。

org.springframework.boot spring-boot-starter-web org.projectlombok lombok 1.18.6 provided mysql mysql-connector-java 8.0.11 
 org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.3 ```


2建立如图所示的包目录和文件,开始是一个大的包com.heal,之下是:
controller包为后端控制器包,里面有一个控制器类,用于控制网页的跳转;
entity包是实体类包,里面有一个user类,其中的@Data注解是为了自动生成get和set方法,需要导入依赖中的lombok插件(如果嫌弃麻烦可以直接编写一个最普通的JavaBean即可);respository包是数据层的接口,里面的接口和UserRepository.xml的方法id对应,调用接口的方法会自动映射到xml文件里面的具体方法从而调用具体的sql语句;
resource资源包下有一个mapping包,在mapping包下,有UserRepository.xml是一个映射文件,映射了UserRepository接口的方法。
application.yml为springboot的配置文件,在里面配置如:访问的端口,还有连接的数据库的用户名以及一些基础的配置。
Application(resource目录上的那个不显眼的,又必不可少的类):这是springboot的启动类,来用启动整个springboot程序,,注意这个类必须放在controller类的上层或者同层,因为springboot在启动的时候会向下扫描整个项目,不满足启动类在上方的时候,有些我们编写的类可能没有扫描到。(启动的@MapperScan注解用来标明repository接口类的位置,其他的代码为默认代码)

spring boot 整合sentine_mysql


3数据库的编写

spring boot 整合sentine_spring boot_02


4代码展示

  1. controller类
package com.heal.controller;


import com.heal.entity.User;
import com.heal.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/mapper")
public class UserMapperHandler {
    @Autowired
    private UserRepository userRepository;
    @DeleteMapping("/deleteById/{id}")
    public void deleteById(@PathVariable("id") long id){
        userRepository.deleteById(id);

    }
    @GetMapping("/findById/{id}")
    public User findById(@PathVariable long id){
        User user=userRepository.findById(id);
        return user;
    }
    @PutMapping("/update")
    public void update(@RequestBody User user){
        userRepository.update(user);
    }
    @PostMapping("/save")
    public void save(@RequestBody User user){
        userRepository.save(user);
    }
}
  1. 实体类User
package com.heal.entity;

import lombok.Data;

@Data
public class User {

    private Long id;
    private String name;
    private  String password;
    private double score;
}
  1. UserRepository接口
package com.heal.repository;

import com.heal.entity.User;

import java.util.List;

public interface UserRepository {
    public List<User> findAll();
    public User findById(long id);
    public void save(User user);
    public void update(User user);
    public void deleteById(long id);
    public int count();
}
  1. Application启动类
package com.heal;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.southwind.repository")
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
}
  1. UserResitory.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.heal.repository.UserRepository">
    <select id="findAll" resultType="User">
 select * from user
 </select>
    <select id="count" resultType="int">
 select count(id) from user
 </select>
    <select id="findById" parameterType="long" resultType="User">
 select * from user where id = #{id}
 </select>
    <insert id="save" parameterType="User">
 insert into user(name,password,score) values(#{name},#{password},#{score})
 </insert>
    <update id="update" parameterType="User">
 update user set name = #{name},password=#{password},score = #{score} where id = #{id}
 </update>
    <delete id="deleteById" parameterType="long">
 delete from user where id = #{id}
 </delete>
</mapper>
  1. application.yml配置(严格按照缩进,yml是springboot的配置文件,通过缩进的方法进行层次的表现。server为设置端口,不写也可以默认使用8080端口,mybatis为设置一些相关配置,其中的mapper-location为mapping包下的所有xml文件,classpath为resource资源文件夹。type-aliases-package为包声明,只要这样我们在xml文件中才能直接的使用返回值为User,不然要带上包名。
server:
  port: 9090
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  mapper-locations: classpath:/mapping/*.xml
  type-aliases-package: com.southwind.entity

7.运行springboot程序,在Application类上,右键直接运行

spring boot 整合sentine_spring boot_03


在浏览器进行测试,输入

spring boot 整合sentine_mysql_04