整合SpringBoot和MyBatis(含逆向工程)的项目 (含代码版)


在本项目中,我们将探讨如何将流行的Java框架Spring Boot与数据持久化库MyBatis进行集成,并使用MyBatis的逆向工程工具自动生成数据库模型类。这是一个非常实用的组合,因为Spring Boot简化了项目的配置,而MyBatis则提供了灵活的SQL映射功能。下面我们将详细介绍这个过程。 我们需要在Spring Boot项目中引入MyBatis的相关依赖。在`pom.xml`文件中添加以下依赖: ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> </dependencies> ``` 接下来,我们需要配置数据库连接。在`application.properties`或`application.yml`中设置MySQL的连接信息: ```properties # application.properties spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver mybatis.mapper-locations=classpath:mapper/*.xml ``` 现在,我们可以创建MyBatis的配置类`MybatisConfig.java`,用于设置SqlSessionFactory: ```java @Configuration public class MybatisConfig { @Bean public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean(); factoryBean.setDataSource(dataSource); return factoryBean.getObject(); } } ``` 为了使用MyBatis逆向工程,我们需要安装MyBatis Generator(MBG)。在MBG中,我们需要定义一个XML配置文件(如`generatorConfig.xml`),其中包含了数据库连接信息、生成的模型类路径等: ```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="MySQL" targetRuntime="MyBatis3"> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC" userId="root" password="root"/> <javaModelGenerator targetPackage="com.example.demo.model" targetProject="src/main/java"/> <sqlMapGenerator targetPackage="com.example.demo.mapper" targetProject="src/main/resources/mapper"/> <javaClientGenerator targetPackage="com.example.demo.mapper" targetProject="src/main/java" type="XMLMAPPER"/> <table tableName="your_table_name" domainObjectName="YourClassName" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/> </context> </generatorConfiguration> ``` 运行MBG后,它会根据`generatorConfig.xml`中的配置生成对应的实体类、Mapper接口和Mapper XML文件。这些文件应按照指定的路径放在项目中。 接下来,我们可以在Spring Boot的启动类中启用MyBatis的自动扫描: ```java @SpringBootApplication @MapperScan("com.example.demo.mapper") public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 现在,你可以开始编写Mapper接口和对应的XML文件,例如: ```java // UserMapper.java public interface UserMapper { User selectUserById(Long id); } ``` ```xml <!-- UserMapper.xml --> <mapper namespace="com.example.demo.mapper.UserMapper"> <select id="selectUserById" resultType="com.example.demo.model.User"> SELECT * FROM user WHERE id = #{id} </select> </mapper> ``` 我们可以在业务逻辑中注入Mapper并调用其方法,例如: ```java @Service public class UserService { @Autowired private UserMapper userMapper; public User getUserById(Long id) { return userMapper.selectUserById(id); } } ``` 总结一下,这个项目展示了如何在Spring Boot中集成MyBatis,以及如何利用MyBatis逆向工程自动生成数据库模型类和Mapper文件。通过这种方式,开发者可以专注于业务逻辑,而无需手动编写大量的基础代码,提高了开发效率。在实际应用中,可以根据需求调整配置,支持不同的数据库和表结构,实现更加灵活的数据访问层。











































































































































- 1


- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源


