springBoot项目整合mybatis

本文详细介绍了如何使用Mybatis与SpringBoot集成,包括添加依赖、配置数据库连接、创建实体类、Controller、Service、Mapper以及XML映射文件,并展示了如何通过POSTMAN进行测试。重点讲解了如何在启动类中扫描mapper包和配置文件设置。
摘要由CSDN通过智能技术生成


1.引入依赖

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

    <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

2.在application.properties里面配置数据库基本连接通信

#数据库配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#库名自行修改
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
#账号密码改成自己的
spring.datasource.username=root
spring.datasource.password=1234

#mybatis 扫描mapper文件 xml路径配置
mybatis.mapper-locations=classpath:mapper/*.xml

3.准备一张数据库表,初始化数据

DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `pass_word` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ;

-- 初始化语句
INSERT INTO `test`.`t_user`(`id`, `user_name`, `pass_word`) VALUES (1, '李白', 'test123');
INSERT INTO `test`.`t_user`(`id`, `user_name`, `pass_word`) VALUES (2, '韩信', 'test456');

4.创建实体类

public class UserInfo {
    private String id;
    private String userName;
    private String passWord;
	//get/set方法省略
}

5.创建controller层

@RestController
@RequestMapping("/api/v1/user")
public class UserController {    
    @Autowired    
    private UserService userService;    
    /**     
    * 获取所有用户    
    * @return     
    */    
    @GetMapping("/getAllUserInfo")    
    private List<UserInfo> getUserInfo(){  
      
        return userService.getUserInfo();    
    }
}

6.创建service层

public interface UserService { 
    /**     * 获取所有用户
    * @return 
    */   
    List<UserInfo> getUserInfo();
}
@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    /**
     * 获取所有用户
     *
     * @return
     */
    @Override
    public List<UserInfo> getUserInfo() {
        return userMapper.getUserInfo();
    }

}

7.创建mapper层

@Repository
public interface UserMapper {

    /**
     * 获取所有用户
     * @return
     */
    List<UserInfo> getUserInfo();

}

8.创建对应的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.wys.mylearning.mapper.UserMapper">

    <resultMap id="baseMap" type="com.wys.mylearning.models.UserInfo">
        <id column="id" property="id"/>
        <result column="user_name" property="userName"/>
        <result column="pass_word" property="passWord"/>
    </resultMap>

    <!--  查询所有用户-->
    <select id="getUserInfo" resultMap="baseMap">
        SELECT id,user_name,pass_word FROM t_user
    </select>

</mapper>

9.启动类增加mapper包扫描

@SpringBootApplication
//启动类增加mapper包扫描
@MapperScan("com.wys.mylearning.mapper")
public class MylearningApplication {

    public static void main(String[] args) {
        SpringApplication.run(MylearningApplication.class, args);
    }

}

10.项目整体架构如下图

在这里插入图片描述

11.启动项目,postman测试

在这里插入图片描述

总结

注意要在启动类上加上包扫描路径(@MapperScan(“com.wys.mylearning.mapper”)),路径为mapper层所在路径,还要在application.properties配置文件中配置xml文件所在路径,最后xml文件中的namespace路径为mapper文件所在路径。

(或者不在启动类上加@MapperScan注解,而是在mapper文件类上加@Mapper注解也可以)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上海下小雨y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值