Spring Boot整合MyBatis

步骤:

    1. 添加mybatis起步依赖

    2. 在配置文件中,配置数据源的信息

    3. 编写pojo 类,mapper接口,mapper映射文件

    4. 手动配置包扫描器 

    5. 在启动类上添加MapperScanner 注解  

    6. 使用

小demo:通过Spring Boot和MyBatis查看下面数据库数据:

1. 在pom.xml文件中添加mybatis起步依赖:

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

2. 在src/main/resources下创建application.yml配置文件,配置数据源的信息:

spring:
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/springboot
    #数据库用户名
    username: root
    #数据库密码
    password: 123456

3. 编写pojo类,mapper接口,mapper映射文件

3.1 与数据库表对应的java类,pojo类代码:

import java.io.Serializable;

public class MUser implements Serializable {
    private int id;
    private String username;
    private String password;
    private String name;

    public int getId() {
        return id;
    }

    public void setId(int 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;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

3.2 在src/main/java中创建mapper接口,mapper/UserMapper代码:

import java.util.List;

public interface UserMapper {
    List<MUser> getUserList();
}

3.3 在src/main/java中创建mapper映射文件,mapper/UserMapper.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">
<!--namespace:接口的全路径名-->
<mapper namespace="cd.zf.test.mapper.UserMapper">
    <select id="getUserList" resultType="cd.zf.test.pojo.MUser">
        select * from user
    </select>
</mapper>

4. 手动配置包扫描器,在启动类上添加@MapperScanner注解 ,启动类代码:

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan(basePackages = "cd.zf.test.mapper")
public class StartSpringBoot {
    public static void main(String[] args) {
        SpringApplication.run(StartSpringBoot.class,args);
    }
}

 5. 使用,测试类代码:

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
public class MUserMapperTest {
    @Autowired
    private UserMapper userMapper;

    @RequestMapping("/userMapperList")
    public List<MUser> userMapperList(){
        return userMapper.getUserList();
    }
}

注:由于mapper.xml位置,直接运行启动类会报接口中找不到对应的sql语句异常:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.zf.mapper.UserMapper.getUserList

解决方法:在pom.xml文件中添加以下依赖:

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

再运行启动类,查看结果:

over~ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值