个人主页:程序员 小侯
CSDN新晋作者
欢迎 点赞✍评论⭐收藏
✨收录专栏:Java框架
✨文章内容:Spring Boot集成MyBatis
希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!
Spring Boot与MyBatis的集成为Java开发者提供了一种简便而强大的方式来访问和操作数据库。在本文中,我们将深入解析Spring Boot集成MyBatis的多种方式,包括XML配置、注解配置以及使用MyBatis Generator生成代码的方法。
首先,我们需要在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>
在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
在src/main/resources
目录下创建mybatis-config.xml
文件:
<configuration>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
mappers>
configuration>
创建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>
在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();
}
// 其他方法
}
同样,添加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>
同XML配置方式。
在Mapper接口上使用@Mapper
注解:
@Mapper
public interface UserMapper {
@Select("SELECT * FROM users")
List<User> getAllUsers();
// 其他方法
}
同XML配置方式。
添加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>
在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>
运行Maven命令执行MyBatis Generator:
mvn mybatis-generator:generate
以上是三种常见的Spring Boot集成MyBatis的方式,每种方式都有其适用的场景。开发者可以根据项目需求和个人偏好选择最合适的方式。在实际项目中,可以根据项目的规模和复杂度选择合适的方式,或者根据不同的模块采用不同的集成方式。这样的灵活性使得Spring Boot与MyBatis的结合在各种场景下都能够发挥强大的作用。
结尾 ❤️ 感谢您的支持和鼓励!