springboot整合Mybaitis和MySQL

系列文章目录


项目结构

在这里插入图片描述


一、创建springboot工程

在这里插入图片描述

二、引入依赖

  • mysql 小编使用8.0驱动,在配置文件的url需要加上useSSL=false
  • jdbc
  • druid
  • mybatis
	    <!--mysql驱动包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.12</version>
        </dependency>

        <!--整合jdbc-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!--整合druid连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.1</version>
        </dependency>

        <!--整合mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>

三、配置文件(application.properties)

# 应用名称
spring.application.name=db_safe
# 应用服务 WEB 访问端口
server.port=7894

# 配置MySQL数据库连接(注:小编用的mysql8的驱动,所以url需要加上&useSSL=false)
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test01?rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root

# druid数据库连接池
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

# mybatis指定xml位置
mybatis.mapper-locations=classpath:mapper/**/*Mapper.xml

四、分层的代码

4.1 、pojo

package sqy.db_safe.pojo;

/**
 * @author suqinyi
 * @Date 2021/7/9
 */
public class User {
    private Long id;
    private String username;
    private String password;

    public User() {
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }

    public User(Long id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    public Long getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

4.2 、controller

package sqy.db_safe.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import sqy.db_safe.pojo.User;
import sqy.db_safe.service.UserService;

import java.util.List;


/**
 * @author suqinyi
 * @Date 2021/7/9
 */
@RestController
public class UserController {

    @Autowired
    UserService userService;

    @GetMapping("/findALL")
    public Object findALL(){
        List<User> list=userService.findALL();
        return list;
    }
}

4.3 、service和impl

UserService

package sqy.db_safe.service;

import sqy.db_safe.pojo.User;

import java.util.List;

/**
 * @author suqinyi
 * @Date 2021/7/9
 */
public interface UserService {
    List<User> findALL();
}

UserServiceImpl

package sqy.db_safe.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import sqy.db_safe.mapper.UserMapper;
import sqy.db_safe.service.UserService;

import java.util.List;


/**
 * @author suqinyi
 * @Date 2021/7/9
 */
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    UserMapper userMapper;

    @Override
    public List findALL() {
        return userMapper.findALL();
    }
}

4.4、mapper接口和xml

接口

package sqy.db_safe.mapper;

import org.springframework.stereotype.Repository;
import sqy.db_safe.pojo.User;

import java.util.List;


/**
 * @author suqinyi
 * @Date 2021/7/9
 */

@Repository
public interface UserMapper {
    List<User> findALL();
}

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="sqy.db_safe.mapper.UserMapper">

    <select id="findALL" resultType="sqy.db_safe.pojo.User">
        select * from  user
    </select>
</mapper>

五、细节说明

1、启动类上使用@MapperScan注解,指定扫描包的位置
在这里插入图片描述
2、配置文件中要指定xml文件的包的位置
在这里插入图片描述

3、小编引入的MySQL依赖版本是8.0+
所以配置文件的url要加上useSSL=false

spring.datasource.url=jdbc:mysql://localhost:3306/test01?rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false

六、启动项目访问

在这里插入图片描述


版权声明:本文为qq_44413835原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。