欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboot整合mybatis(idea)

程序员文章站 2022-03-10 19:55:38
...

一、开发环境

idea+java8+maven+mysql
需要提前把这些环境先搭好。

二、项目整体结构
springboot整合mybatis(idea)

三、数据准备
1、创建user表:

DROP TABLE IF EXISTS `user`;
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(60) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

2、往user表里随便插入几行数据

INSERT INTO `user` VALUES (5, '孤傲苍', 23);
INSERT INTO `user` VALUES (6, '白虎神', 22);

四、项目搭建
1、新建项目
点击file——>new——projectspringboot整合mybatis(idea)
选择spring initializr项目,sdk选择1.8,然后点击next
springboot整合mybatis(idea)
javaversion和上一步的保持一致选择java8,然后点击下一步
springboot整合mybatis(idea)
添加项目起步依赖,这里只需要添加web的起步依赖就行了。mybatis和数据库驱动包后面手动添加一下
springboot整合mybatis(idea)
然后一直点击next到最后点击finish然后就可以生成springboot的项目结构了(需要有网络环境。默认会访问https://starts.spring.io来初始化新建的项目。如果是初次搭建maven需要拉取相关的依赖包,稍等片刻就好。)
刚建好的项目结构:
springboot整合mybatis(idea)
2、导入mybatis和mysql驱动包:
springboot整合mybatis(idea)

<dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>1.1.1</version>
</dependency>
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
</dependency>

3、添加mybatis和mysql的配置
springboot整合mybatis(idea)

4、项目代码和资源
新建User类

package com.example.springbootmybatis.domain;
public class User {
    private Integer id;
    private String name;
    private Integer age;

    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;
    }

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

新建UserMapper映射类

package com.example.springbootmybatis.mapper;

import com.example.springbootmybatis.domain.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
@Mapper
public interface UserMapper {
    List<User> findUser();
}

新建controller(也可以添加对应的service层)

package com.example.springbootmybatis.controller;

import com.example.springbootmybatis.domain.User;
import com.example.springbootmybatis.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    UserMapper userMapper;

    @RequestMapping("/list")
    public List<User> getUsers(){
        return userMapper.findUser();
    }
}

controller中的userMapper属性会报错,提示Autowired注解不能自动装配。这个错误不影响,因为springboot在启动的时候会新建对应的mapper bean,并且完成装配。
也可以在UserMapper 类上加上@Component注解,消除这个提示。
新建usermapper.xml映射文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.springbootmybatis.mapper.UserMapper">

    <select id="findUser" resultType="com.example.springbootmybatis.domain.User">
        select * from user ;
    </select>
</mapper>

5、启动项目
springboot整合mybatis(idea)
6、访问http://localhost:8080/user/list接口查看结果:
springboot整合mybatis(idea)
五、源码地址
https://gitee.com/yan-jialin/project.git