SpringBoot整合MyBatis详解

SpringBoot整合MyBatis

环境信息:

Mysql 8.0.15
Win10

1.创建项目

使用IDEA快速创建一个SpringBootWEB项目

ZusCcT.png

2.添加Mybatis起步依赖

        <!--mybatis起步依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>

3.添加数据库驱动坐标

    <!--Mysql数据库坐标-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.15</version>
    </dependency>

4.添加数据库连接信息

在application.properties文件中添加数据库连接相关信息,注意Mysql版本是8.x所以最后必须加上时区,否则会报错

    # 数据库连接相关信息
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/dbname?serverTimezone=UTC
    spring.datasource.username=root
    spring.datasource.password=password

5.创建Users表

    DROP TABLE IF EXISTS `users`;
    CREATE TABLE `users` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `username` VARCHAR(50) DEFAULT NULL, `password` VARCHAR(50) DEFAULT NULL, `name` VARCHAR(50) DEFAULT NULL, PRIMARY KEY (`id`)
    ) ENGINE=INNODB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
    INSERT INTO `users` VALUES ('1', 'zhangsan', '123', '张三');
    INSERT INTO `users` VALUES ('2', 'lisi', '123', '李四');

6.创建实体类Bean

private Integer id;
private String username;
private String password;
private String name;

7.编写Mapper类

    import com.chen.domain.Users;
    import org.apache.ibatis.annotations.Mapper;

    import java.util.List;

    @Mapper
    public interface UsersMapper {
        public List<Users> queryUsersList();
    }

8.配置Mapper映射文件

    <?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.chen.mapper.UsersMapper">
        <select id="queryUsersList" resultType="Users">
            select * from users
        </select>
    </mapper>

9.在application.properties中添加mybatis信息

    # pojo别名扫描
    mybatis.type-aliases-package=com.chen.domain
    # 加载Mybatis映射文件
    mybatis.mapper-locations=classpath:mapper/*Mapper.xml

10.编写测试Controller

    import com.chen.domain.Users;
    import com.chen.mapper.UsersMapper;

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;

    import java.util.List;

    /**
    * @program: SpringBootIntrodoction
    * @description: SpringBoot整合Mybatis
    * @author: Mr.Wang
    * @create: 2019-06-27 20:14
    **/
    @Controller
    public class SpringBootMyBatisQuick {

        @Autowired
        private UsersMapper usersMapper;

        @RequestMapping("/quick")
        @ResponseBody
        public List<Users> quick() {
            List<Users> users = usersMapper.queryUsersList();
            return users;
        }
    }

11.访问测试

ZusPjU.png

项目最终目录结构

ZusZNR.png


 上一篇
微信小程序与后端SpringBoot通信 微信小程序与后端SpringBoot通信
案例概述微信小程序请求后端SpirngBoot,中间使用Ngrok做内网穿透. 内网穿透Ngrok配置下载Ngrok https://ngrok.com/download 注册并配置Ngrok认证注册完Ngrok之后进入个人主页在Aut
2019-07-03
下一篇 
牛客网Java面试题(六) 牛客网Java面试题(六)
Java程序中的类名称必须与存放该类的文件名称相同 对 错 正确答案:B 解析:如果类名的修饰符为public那么文件名必须和类名相同,内部类的类名一般与文件名不同. 关于Socket通信编程,以下描述错误的是. 服务器端通过new Se
2019-06-15
  目录