MyBatis Generator

编程入门 行业动态 更新时间:2024-10-28 10:28:32

<a href=https://www.elefans.com/category/jswz/34/1769966.html style=MyBatis Generator"/>

MyBatis Generator

目录

一、MyBatis Generator 的使用

1.1、生成类和映射文件

1.1.1、在 pom.xml 中引入依赖

1.1.2、根据 configurationFile 标签中配置的路径 创建 generatorConfig.xml 文件

1.1.3、自动生成类 和 映射文件

1.1.4、在 Insert 标签中添加获取主键值的选项

1.1.5、扫描配置:添加 @Mapper 注解 / 添加扫描注解

1.1.6、配置 mybatis

1.1.7、测试


一、MyBatis Generator 的使用


1.1、生成类和映射文件

1.1.1、在 pom.xml 中引入依赖

在 properties 标签中加入版本号.

<mybatis-generator-plugin-version>1.4.1</mybatis-generator-plugin-version>

在 build => plugins 标签中加入如下配置

            <!-- mybatis ⽣成器插件 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>${mybatis-generator-plugin-version}</version><executions><execution><id>Generate MyBatis Artifacts</id><phase>deploy</phase><goals><goal>generate</goal></goals></execution></executions><!-- 相关配置 --><configuration><!-- 打开⽇志 --><verbose>true</verbose><!-- 允许覆盖 --><overwrite>true</overwrite><!-- 配置⽂件路径 --><configurationFile>src/main/resources/mybatis/generatorConfig.xml</configurationFile></configuration></plugin>

上述配置中需要注意的是 “配置文件路径”,这个路径就是用来生成 实体类和映射文件 配置规则的位置.

1.1.2、根据 configurationFile 标签中配置的路径 创建 generatorConfig.xml 文件

这个文件就是用来描述生成规则的.

根据路径(src/main/resources/mybatis),在 mybatis 目录下创建 generatorConfig.xml 文件.

Ps:下述配置文件中需要修改的有 数据库连接、实体类和映射文件的路径、数据库表名

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis//DTD MyBatis Generator Configuration 1.0//EN"".dtd"><generatorConfiguration><!-- 驱动包路径,location中路径替换成⾃⼰本地路径 --><classPathEntry location="D:\class\source\mysql-connector-java-5.1.49.jar"/><context id="DB2Tables" targetRuntime="MyBatis3"><!-- 禁⽤⾃动⽣成的注释 --><commentGenerator><property name="suppressAllComments" value="true"/><property name="suppressDate" value="true"/></commentGenerator><!-- 连接配置 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://127.0.0.1:3306/javanav_db?
characterEncoding=utf8&amp;useSSL=false"userId="root"password="1111"></jdbcConnection><javaTypeResolver><!-- ⼩数统⼀转为BigDecimal --><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- 实体类⽣成位置 --><javaModelGenerator targetPackage="com.example.cyk.model"targetProject="src/main/java"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/></javaModelGenerator><!-- mapper.xml⽣成位置 --><sqlMapGenerator targetPackage="mapper"targetProject="src/main/resources"><property name="enableSubPackages" value="true"/></sqlMapGenerator><!-- mapper 接口⽣成位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="com.example.cyk.mapper" targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!-- 配置⽣成表与实例, 只需要修改表名tableName, 与对应类名domainObjectName 即可--><table tableName="j_article" domainObjectName="Article"enableSelectByExample="false"enableDeleteByExample="false" enableDeleteByPrimaryKey="false"enableCountByExample="false"enableUpdateByExample="false"><!-- 类的属性⽤数据库中的真实字段名做为属性名, 不指定这个属性会⾃动转换 _ 为驼峰命名规则--><property name="useActualColumnNames" value="true"/></table><table tableName="j_article_reply" domainObjectName="ArticleReply"enableSelectByExample="false"enableDeleteByExample="false" enableDeleteByPrimaryKey="false"enableCountByExample="false"enableUpdateByExample="false"><property name="useActualColumnNames" value="true"/></table><table tableName="j_board" domainObjectName="Board"enableSelectByExample="false" enableDeleteByExample="false"enableDeleteByPrimaryKey="false" enableCountByExample="false"enableUpdateByExample="false"><property name="useActualColumnNames" value="true"/></table><table tableName="j_message" domainObjectName="Message"enableSelectByExample="false"enableDeleteByExample="false" enableDeleteByPrimaryKey="false"enableCountByExample="false"enableUpdateByExample="false"><property name="useActualColumnNames" value="true"/></table><table tableName="j_user" domainObjectName="User"enableSelectByExample="false" enableDeleteByExample="false"enableDeleteByPrimaryKey="false" enableCountByExample="false"enableUpdateByExample="false"><property name="useActualColumnNames" value="true"/></table></context>
</generatorConfiguration>

注意:

驱动包路径是自己本地仓库的路径

 

但一定注意!! 需要在非中文的目录下,因此你可以把这个驱动包拷贝出来,放到一个非中文的目录中即可.

1.1.3、自动生成类 和 映射文件

重新加载Maven项⽬,在Plugins节点下出现mybatis-generator,双击运⾏,在对应的目录下⽣成相应的类与映射⽂件:

接着你就可以看到对应的生成了

1.1.4、在 Insert 标签中添加获取主键值的选项

在生成的 xml 文件中,给每一个 insert 标签都添加以下属性:useGeneratedKeys="true" keyProperty="id"

<!-- useGeneratedKeys = true -->
<!-- keyProperty = 主键字段--> <!-- 当插⼊⼀条数据后,可以通过user.getId()获取到⾃动⽣成的Id值,如果⽅法中需要⽴即获取Id值,加⼊这个配置 --> 
<insert id="insert" parameterType="com.example.cyk.model.User" 
useGeneratedKeys="true" keyProperty="id" >

Ps:这个选项也可以自动生成,但是不理想(有些问题)

1.1.5、扫描配置:添加 @Mapper 注解 / 添加扫描注解

有两种方式配置扫描 Mapper 接口.

1)给每个 mapper 包下的 mapper 接口都添加 @Mapper 注解.

2)给启动类上 或者 新建一个配置类(有 @Configuration 注解)加上 @MapperScan("com.example.cyk.mapper") 注解.

1.1.6、配置 mybatis

在 yml 文件中配置

mybatis:mapper-locations: classpath:mapper/**/*Mapper.xml

1.1.7、测试

@SpringBootTest
public class TestMapper {@Autowiredprivate UserMapper userMapper;@Testpublic void select() {User user = userMapper.selectByPrimaryKey(1L);System.out.println(user);}}


 

更多推荐

MyBatis Generator

本文发布于:2023-12-05 07:26:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1663517.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:MyBatis   Generator

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!