下面我给你详细讲解一下Mybatis实现自动生成增删改查代码的完整攻略。
概述
Mybatis是一款基于Java的持久层框架,它提供了自动生成增删改查代码的功能,让开发人员可以快速生成常用的CRUD操作。可以大大提高代码的开发效率,减少了数据库访问层的开发工作量。
步骤
实现Mybatis自动生成增删改查代码的过程如下:
- 配置Mybatis Generator插件
在项目中配置Mybatis Generator插件,该插件可以生成Java Bean和Mapper接口文件,并且支持多种数据库。
<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>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
- 配置Mybatis Generator插件的配置文件
在项目中创建generatorConfig.xml文件,配置Mybatis Generator插件的相关信息。其中,可以指定要生成的Java Bean类、Mapper接口类和XML映射文件的包名和保存路径,也可以设置数据库连接信息和要生成的表名等。
示例配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!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="MyBatis3Simple">
<!-- 数据库连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test"
userId="root"
password="root">
</jdbcConnection>
<!-- 生成的Java Bean类 -->
<javaModelGenerator targetPackage="com.example.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成的Mapper接口类 -->
<sqlMapGenerator targetPackage="com.example.mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成的XML映射文件 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表名 -->
<table tableName="user"></table>
<table tableName="role"></table>
</context>
</generatorConfiguration>
- 运行Mybatis Generator插件
在Maven项目中,可以通过命令行或通过IDE的菜单操作来运行Mybatis Generator插件,生成Java Bean类、Mapper接口类和XML映射文件。如果一切顺利的话,生成的文件将保存在指定的包名和路径下。
mvn mybatis-generator:generate
示例
下面通过两个简单的示例来演示Mybatis自动生成增删改查代码的过程。
示例一
假设有一个User表,包含id、name和age三个字段,要生成对应的Java Bean和Mapper接口文件。步骤如下:
-
配置pom.xml文件,添加Mybatis Generator插件的配置。
-
在资源目录下创建generatorConfig.xml文件,配置要生成的Java Bean和Mapper接口类文件的属性和相关的数据库连接信息和表名。
-
运行Mybatis Generator插件,生成Java Bean和Mapper接口类文件。
生成的Java Bean类文件如下:
public class User {
private Integer id;
private String name;
private Integer age;
// 省略getter/setter方法
}
生成的Mapper接口类文件如下:
public interface UserMapper {
int deleteByPrimaryKey(Integer id);
int insert(User record);
int insertSelective(User record);
User selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(User record);
int updateByPrimaryKey(User record);
}
示例二
假设有一个Student表,包含id、name和score三个字段,要生成对应的Java Bean和Mapper接口文件,并且还要根据score字段进行查询。步骤如下:
-
配置pom.xml文件,添加Mybatis Generator插件的配置。
-
在资源目录下创建generatorConfig.xml文件,配置要生成的Java Bean和Mapper接口类文件的属性和相关的数据库连接信息和表名,并且在Mapper接口文件中添加根据score字段进行查询的方法。
配置示例:
<?xml version="1.0" encoding="UTF-8"?>
<!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="MyBatis3Simple">
<!-- 数据库连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test"
userId="root"
password="root">
</jdbcConnection>
<!-- 生成的Java Bean类 -->
<javaModelGenerator targetPackage="com.example.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成的Mapper接口类 -->
<sqlMapGenerator targetPackage="com.example.mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成的XML映射文件 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表名 -->
<table tableName="student"></table>
<!-- 在Mapper接口文件中添加根据score字段进行查询的方法 -->
<mapper>
<method name="selectByScore" returnType="list" parameterType="int">
select * from student where score = #{score}
</method>
</mapper>
</context>
</generatorConfiguration>
- 运行Mybatis Generator插件,生成Java Bean和Mapper接口类文件。
生成的Mapper接口类文件如下:
public interface StudentMapper {
int deleteByPrimaryKey(Integer id);
int insert(Student record);
int insertSelective(Student record);
Student selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Student record);
int updateByPrimaryKey(Student record);
// 根据score字段进行查询
List<Student> selectByScore(Integer score);
}
总结
Mybatis Generator插件是一个非常方便的工具,可以帮助开发人员快速生成增删改查代码,并且可以自定义生成的Java Bean和Mapper接口文件的格式和内容。不仅可以提高开发效率,还可以减轻代码维护的负担。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis实现自动生成增删改查代码 - Python技术站