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

Alt

文章目录

    • 1. XML配置方式
      • 1.1 添加依赖
      • 1.2 配置数据源
      • 1.3 创建MyBatis配置文件
      • 1.4 编写Mapper接口和XML文件
      • 1.5 使用Mapper接口
    • 2. 注解配置方式
      • 2.1 添加依赖
      • 2.2 配置数据源
      • 2.3 使用注解配置Mapper
      • 2.4 使用Mapper接口
    • 3. 使用MyBatis Generator
      • 3.1 添加依赖
      • 3.2 编写Generator配置文件
      • 3.3 运行MyBatis Generator

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

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

1. XML配置方式

1.1 添加依赖

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

<dependencies>
    
    <dependency>
        <groupId>org.mybatis.spring.bootgroupId>
        <artifactId>mybatis-spring-boot-starterartifactId>
        <version>2.2.0version>
    dependency>

    
    <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <version>8.0.23version>
    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文件:


<configuration>
    
    <mappers>
        <mapper resource="mapper/UserMapper.xml"/>
        
    mappers>
configuration>

1.4 编写Mapper接口和XML文件

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

// UserMapper.java
public interface UserMapper {
    List<User> getAllUsers();
    // 其他方法
}

<mapper namespace="com.example.mapper.UserMapper">
    <select id="getAllUsers" resultType="com.example.model.User">
        SELECT * FROM users
    select>
    
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>
    
    <dependency>
        <groupId>org.mybatis.spring.bootgroupId>
        <artifactId>mybatis-spring-boot-starterartifactId>
        <version>2.2.0version>
    dependency>

    
    <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <version>8.0.23version>
    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.generatorgroupId>
            <artifactId>mybatis-generator-maven-pluginartifactId>
            <version>1.4.0version>
            <configuration>
                
                <configurationFile>src/main/resources/generatorConfig.xmlconfigurationFile>
                <overwrite>trueoverwrite>
            configuration>
        plugin>
    plugins>
build>

3.2 编写Generator配置文件

src/main/resources目录下创建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的结合在各种场景下都能够发挥强大的作用。

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

你可能感兴趣的:(Java框架,Mybatis,spring,boot,mybatis,后端)