深入解析Spring Boot集成MyBatis的多种方式

Alt

🎈个人主页:程序员 小侯
🎐CSDN新晋作者
🎉欢迎 👍点赞✍评论⭐收藏
✨收录专栏:Java框架
✨文章内容:Spring Boot集成MyBatis
🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗

Spring Boot与MyBatis的集成为Java开发者提供了一种简便而强大的方式来访问和操作数据库。在本文中,我们将深入解析Spring Boot集成MyBatis的多种方式,包括XML配置、注解配置以及使用MyBatis Generator生成代码的方法。
在这里插入图片描述

1. XML配置方式

1.1 添加依赖

首先,我们需要在pom.xml文件中添加MyBatis和数据库驱动的依赖:

<dependencies>
    <!-- MyBatis -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.0</version>
    </dependency>

    <!-- 数据库驱动,以MySQL为例 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>
</dependencies>

1.2 配置数据源

application.properties中配置数据源:

spring.datasource.url=jdbc:mysql://localhost:3306/your_database
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

1.3 创建MyBatis配置文件

src/main/resources目录下创建mybatis-config.xml文件:

<!-- mybatis-config.xml -->
<configuration>
    <!-- 其他配置 -->
    <mappers>
        <mapper resource="mapper/UserMapper.xml"/>
        <!-- 添加其他Mapper -->
    </mappers>
</configuration>

1.4 编写Mapper接口和XML文件

创建Mapper接口和对应的XML文件:

// UserMapper.java
public interface UserMapper {
    List<User> getAllUsers();
    // 其他方法
}
<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
    <select id="getAllUsers" resultType="com.example.model.User">
        SELECT * FROM users
    </select>
    <!-- 其他SQL语句 -->
</mapper>

1.5 使用Mapper接口

在Service或Controller中注入Mapper并使用:

@Service
public class UserService {
    private final UserMapper userMapper;

    @Autowired
    public UserService(UserMapper userMapper) {
        this.userMapper = userMapper;
    }

    public List<User> getAllUsers() {
        return userMapper.getAllUsers();
    }
    // 其他方法
}

2. 注解配置方式

2.1 添加依赖

同样,添加MyBatis和数据库驱动的依赖:

<dependencies>
    <!-- MyBatis -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.0</version>
    </dependency>

    <!-- 数据库驱动,以MySQL为例 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>
</dependencies>

2.2 配置数据源

同XML配置方式。

2.3 使用注解配置Mapper

在Mapper接口上使用@Mapper注解:

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM users")
    List<User> getAllUsers();
    // 其他方法
}

2.4 使用Mapper接口

同XML配置方式。

3. 使用MyBatis Generator

3.1 添加依赖

添加MyBatis Generator插件的依赖:

<build>
    <plugins>
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.4.0</version>
            <configuration>
                <!-- 配置文件路径 -->
                <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
                <overwrite>true</overwrite>
            </configuration>
        </plugin>
    </plugins>
</build>

3.2 编写Generator配置文件

src/main/resources目录下创建generatorConfig.xml文件:

<!-- generatorConfig.xml -->
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <context id="DB2Tables" targetRuntime="MyBatis3

">
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/your_database"
                        userId="your_username"
                        password="your_password">
        </jdbcConnection>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <javaModelGenerator targetPackage="com.example.model" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <table tableName="users" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
            <property name="useActualColumnNames" value="false"/>
            <generatedKey column="id" sqlStatement="JDBC"/>
        </table>
        <!-- 其他表配置 -->
    </context>
</generatorConfiguration>

3.3 运行MyBatis Generator

运行Maven命令执行MyBatis Generator:

mvn mybatis-generator:generate

以上是三种常见的Spring Boot集成MyBatis的方式,每种方式都有其适用的场景。开发者可以根据项目需求和个人偏好选择最合适的方式。在实际项目中,可以根据项目的规模和复杂度选择合适的方式,或者根据不同的模块采用不同的集成方式。这样的灵活性使得Spring Boot与MyBatis的结合在各种场景下都能够发挥强大的作用。

🧸结尾 ❤️ 感谢您的支持和鼓励!

  • 19
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员 小侯

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

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

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

打赏作者

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

抵扣说明:

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

余额充值