文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Spring Boot + Mybatis + Spring MVC环境配置(二):Mybatis Generator配置

2023-06-02 22:18

关注

一、在Eclipse中安装mybatis generator

     菜单选择:Help->Eclipse Marketplace

Spring Boot + Mybatis + Spring MVC环境配置(二):Mybatis Generator配置

二、 创建generatorConfig.xml配置文档

Spring Boot + Mybatis + Spring MVC环境配置(二):Mybatis Generator配置

配置好的generatorConfig.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><!--加载属性文件 --><properties resource="application.properties" /><!-- context:生成一组对象的环境 id:必选,上下文id,用于在生成错误时提示 defaultModelType:指定生成对象的样式 1,conditional:类似hierarchical; 2,flat:所有内容(主键,blob)等全部生成在一个对象中; 3,hierarchical:主键生成一个XXKey对象(key class),Blob等单独生成一个对象,其他简单属性在一个对象中(record class) targetRuntime: 1,MyBatis3:默认的值,生成基于MyBatis3.x以上版本的内容,包括XXXBySample; 2,MyBatis3Simple:类似MyBatis3,只是不生成XXXBySample; introspectedColumnImpl:类全限定名,用于扩展MBG --><context id="context1" defaultModelType="hierarchical"targetRuntime="MyBatis3Simple"><!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表; 一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖 --><property name="autoDelimitKeywords" value="false" /><!-- 生成的Java文件的编码 --><property name="javaFileEncoding" value="UTF-8" /><!-- 格式化java代码 --><property name="javaFormatter"value="org.mybatis.generator.api.dom.DefaultJavaFormatter" /><!-- 格式化XML代码 --><property name="xmlFormatter"value="org.mybatis.generator.api.dom.DefaultXmlFormatter" /><!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; --><property name="beginningDelimiter" value="`" /><property name="endingDelimiter" value="`" /><!-- 实现自定义的代码生成器plugin --><!-- <plugin type="org.mybatis.PaginationPlugin" /> --><commentGenerator><property name="suppressDate" value="true" /><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true" /></commentGenerator><!-- 数据库连接URL,用户名,密码 --><jdbcConnectiondriverClass="${spring.datasource.driver-class-name}"connectionURL="${spring.datasource.url}"userId="${spring.datasource.username}"password="${spring.datasource.password}"><property name="nullCatalogMeansCurrent" value="true" /></jdbcConnection><!-- java类型处理器 用于处理DB中的类型到Java中的类型,默认使用JavaTypeResolverDefaultImpl; 注意一点,默认会先尝试使用Integer,Long,Short等来对应DECIMAL和 NUMERIC数据类型; --><javaTypeResolvertype="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl"><!-- true:使用BigDecimal对应DECIMAL和 NUMERIC数据类型 false:默认, scale>0;length>18:使用BigDecimal; scale=0;length[10,18]:使用Long; scale=0;length[5,9]:使用Integer; scale=0;length<5:使用Short; --><property name="forceBigDecimals" value="false" /></javaTypeResolver><!--生成模型的包名和位置 --><javaModelGeneratortargetPackage="com.kai.demo.model" targetProject="demo/src/main/java"><!-- for MyBatis3/MyBatis3Simple 自动为每一个生成的类创建一个构造方法,构造方法包含了所有的field;而不是使用setter; --><property name="constructorBased" value="false" /></javaModelGenerator><!--映射文件的包名和位置 --><sqlMapGenerator targetPackage="com.kai.demo.mapper"targetProject="demo/src/main/java" /><!--DAO的包名和位置 --><javaClientGeneratortargetPackage="com.kai.demo.dao" targetProject="demo/src/main/java"type="XMLMAPPER"><!-- 是否允许建立子包,对应Mysql的Schema --><property name="enableSubPackages" value="true" /></javaClientGenerator><!--要生成哪些表 --><table schema="mybatis" tableName="%"enableSelectByExample="false" enableDeleteByExample="false"enableCountByExample="false" enableUpdateByExample="false"selectByExampleQueryId="false"></table></context></generatorConfiguration>

(我也不知道为什么itpub的xml片段插入之后,结尾会多了点,正确的xml几位应该是)

Spring Boot + Mybatis + Spring MVC环境配置(二):Mybatis Generator配置

选中generatorConfig.xml文件,右键菜单Run As->Run Mybatis Generator  生成Model、Dao、Mapper

Spring Boot + Mybatis + Spring MVC环境配置(二):Mybatis Generator配置

创建User表的SQL:

DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `username` varchar(20) DEFAULT NULL,  `password` varchar(50) DEFAULT NULL,  `email` varchar(50) DEFAULT NULL,  `nickname` varchar(50) DEFAULT NULL,  `regtime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

四、对UserMapper进行单元测试

在项目的src/test/java下创建类文件UserMapperTest.java

@RunWith(SpringRunner.class)@SpringBootTestpublic class UserMapperTest {@Autowiredprivate UserMapper userMapper;@Testpublic void testQuery() throws Exception {User user = userMapper.selectByPrimaryKey(1);System.out.println(user.toString());}}

右键Run As->JUnit TestSpring Boot + Mybatis + Spring MVC环境配置(二):Mybatis Generator配置

完整环境下载地址:https://github.com/CatherineHu/Spring-Boot-Mybatis-MVC 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯