学习-springBoot整合MyBatis

本文详细介绍了如何在SpringBoot项目中配置Mybatis,包括数据库连接配置、实体类创建、Mapper接口及XML映射文件的编写,以及@MapperScan和mybatis.mapper-locations的使用,旨在帮助开发者理解并实现SpringBoot与Mybatis的无缝集成。
摘要由CSDN通过智能技术生成
  1. 创建项目,引入相应的启动器
    依赖

  2. 编写与数据库表对应的实体类

  3. 编写数据库配置信息
    在application.properties配置文件中进行数据库连接配置

#Mysql数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/springbootdata?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root

  1. 整合Mybatis
  • 注解方式整合

@Mapper
public interface CommentMapper {
@Select(“SELECT * FROM t_comment WHERE id =#{id}”)
public Comment findById(Integer id);
}

@Mapper注解表示该类是一个MyBatis接口文件,并保证能够被Spring Boot自动扫描到Spring容器中 对应的接口类上添加了@Mapper注解,如果编写的Mapper接口过多时,需要重复为每一个接口文件添加 @Mapper注解 为了解决这种麻烦,可以直接在Spring Boot项目启动类上添加@MapperScan(“xxx”)注解,不需要再逐个添加 @Mapper注解,@MapperScan(“xxx”)注解的作用和@Mapper注解类似,但是它必须指定需要扫描的具体包名

  • 配置文件方式
    (1) 创建一个用于和数据库表对应的mapper接口

@Mapper
public interface ArticleMapper {
Article selectArticle(Integer id);
}

(2) 创建该接口的xml映射文件
在resources目录下创建一个统一管理映射文件的包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.lagou.mapper.ArticleMapper">
    <select id="selectArticle" parameterType="int" resultType="com.lagou.pojo.Article">
        select * from t_article where id=#{id}
    </select>
</mapper>

(3)配置application.properties中xml映射文件路径。
在项目中编写的xml映射文件,springboot是无法扫描到该自定义编写的xml配置文件的,所以必须在全局配置文件application.properties中添加mybatis映射文件路径。

#配置mybatis的xml映射配置文件路径 如果有多个mapper配置xml文件可以写成classpath:mapper/*.xml
mybatis.mapper-locations=classpath:mapper/ArticleMapper.xml
  1. 其他
#开启驼峰命名匹配映射,使得数据库中类似的字段class_id可以对应到实体类中的classId
mybatis.configuration.map-underscore-to-camel-case=true

#配置mybatis映射配置文件中实体类别名,在mapper.xml文件的入参出参就可以用类名做别名代替类的全限定类名
mybatis.type-aliases-package=com.lagou.pojo
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值