SpringBoot集成MyBatis的三种方式
作者:程序员 小侯
Spring Boot与MyBatis的集成为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的结合在各种场景下都能够发挥强大的作用。
以上就是SpringBoot集成MyBatis的多种方式总结的详细内容,更多关于SpringBoot集成MyBatis的资料请关注脚本之家其它相关文章!