泰州做网站哪家好横泉水库建设管理局网站

web/2025/9/28 1:51:01/文章来源:
泰州做网站哪家好,横泉水库建设管理局网站,博山网站建设,沈阳百度推广哪家好1 前言 在日常开发工作中#xff0c;我们经常用Mybatis Generator根据表结构生成对应的实体类和Mapper文件。但是Mybatis Generator默认生成的代码中#xff0c;注释并不是我们想要的#xff0c;所以一般在Generator配置文件中#xff0c;会设置不自动生成注释。带来的问题…1 前言 在日常开发工作中我们经常用Mybatis Generator根据表结构生成对应的实体类和Mapper文件。但是Mybatis Generator默认生成的代码中注释并不是我们想要的所以一般在Generator配置文件中会设置不自动生成注释。带来的问题就是自动生成代码之后我们还要自己去类文件中把注释加上如果生成的类较少还好如果有生成很多类文件自己加注释是一件繁琐的工作。 通过重写Mybatis Generator的CommentGenerator接口可以方便地生成自己想要的注释减少重复工作。 2 使用Java方式执行Mybatis Generator 2.1 IDEA中新建Maven项目 pom.xml中引入jar包 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion4.0.0/modelVersion groupIdorg.example/groupId artifactIdMyGenerator/artifactId version1.0-SNAPSHOT/version properties maven.compiler.source8/maven.compiler.source maven.compiler.target8/maven.compiler.target /properties dependencies dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version8.0.16/version /dependency dependency groupIdorg.mybatis.generator/groupId artifactIdmybatis-generator-core/artifactId version1.3.7/version /dependency /dependencies /project 2.2 创建generatorConfig.xml 随便找个目录放我放在src/main/resources目录下 ?xml version1.0 encodingUTF-8?!DOCTYPE generatorConfiguration PUBLIC-//mybatis.org//DTD MyBatis Generator Configuration 1.0//ENhttp://mybatis.org/dtd/mybatis-generator-config_1_0.dtdgeneratorConfigurationcontext idmysql defaultModelTypehierarchical targetRuntimeMyBatis3Simple !-- 生成的 Java 文件的编码 --property namejavaFileEncoding valueUTF-8/!-- 格式化 Java 代码 --property namejavaFormatter valueorg.mybatis.generator.api.dom.DefaultJavaFormatter/!-- 格式化 XML 代码 --property namexmlFormatter valueorg.mybatis.generator.api.dom.DefaultXmlFormatter/commentGeneratorproperty namesuppressAllComments valuefalse //commentGenerator!-- 配置数据库连接 --jdbcConnection driverClasscom.mysql.cj.jdbc.DriverconnectionURLURLuserIduser passwordpassword!-- 设置 useInformationSchema 属性为 true --property nameuseInformationSchema valuetrue //jdbcConnection!-- 生成实体的位置 --javaModelGenerator targetPackagecom.jd.bulktargetProjectsrc/main/javaproperty nameenableSubPackages valuetrue//javaModelGenerator!-- 生成 Mapper XML 的位置 --sqlMapGenerator targetPackagecom.jd.bulktargetProjectsrc/main/resourcesproperty nameenableSubPackages valuetrue//sqlMapGenerator!-- 生成 Mapper 接口的位置 --javaClientGenerator typeXMLMAPPERtargetPackagecom.jd.bulktargetProjectsrc/main/javaproperty nameenableSubPackages valuetrue//javaClientGenerator!-- 设置数据库的表名和实体类名 --table tableNameworker domainObjectNameWorker//context/generatorConfiguration 2.3 创建main方法运行Generator public class Generator { public static void main(String[] args) throws Exception { ListString warnings new ArrayList(2); ConfigurationParser cp new ConfigurationParser(warnings); File configFile new File(src/main/resources/generatorConfig.xml); Configuration config cp.parseConfiguration(configFile); DefaultShellCallback callback new DefaultShellCallback(true); MyBatisGenerator new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); } } 运行main方法生成默认注释如下并不是我们想要的注释所以一般会配置为注释不生成 2.4 实现CommentGenerator接口 重写以下方法自定义注释 public class MySQLCommentGenerator implements CommentGenerator {private final Properties properties;public MySQLCommentGenerator() {properties new Properties();}Overridepublic void addConfigurationProperties(Properties properties) {// 获取自定义的 propertiesthis.properties.putAll(properties);}/*** 重写给实体类加的注释*/Overridepublic void addModelClassComment(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {String author properties.getProperty(author);String dateFormat properties.getProperty(dateFormat, yyyy-MM-dd);SimpleDateFormat dateFormatter new SimpleDateFormat(dateFormat);// 获取表注释String remarks introspectedTable.getRemarks();topLevelClass.addJavaDocLine(/**);topLevelClass.addJavaDocLine( * remarks);topLevelClass.addJavaDocLine( *);topLevelClass.addJavaDocLine( * author author);topLevelClass.addJavaDocLine( * date dateFormatter.format(new Date()));topLevelClass.addJavaDocLine( */);}/*** 重写给实体类字段加的注释*/Overridepublic void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {// 获取列注释String remarks introspectedColumn.getRemarks();field.addJavaDocLine(/**);field.addJavaDocLine( * remarks);field.addJavaDocLine( */);}/*** 重写给实体类get方法加的注释*/Overridepublic void addGetterComment(Method method, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {// 获取表注释String remarks introspectedColumn.getRemarks();method.addJavaDocLine(/**);method.addJavaDocLine( * method.getName());method.addJavaDocLine( */);} 2.5 修改generatorConfig.xml配置 将generatorConfig.xml文件中的commentGenerator做如下修改type属性选择自己的实现类 commentGenerator typecom.generator.MySQLCommentGeneratorproperty nameauthor valueYour Name/property namedateFormat valueyyyy/MM/dd//commentGenerator 运行main方法生成注释如下 3 使用Maven方式执行Mybatis Generator Pom.xml文件中增加以下配置需要引入generator插件时依赖实现CommentGenerator接口的jar包要先把自己的jar包install到本地仓库。 否则会报com.generator.MySQLCommentGenerator找不到其他配置同上。 builddefaultGoalcompile/defaultGoalpluginsplugingroupIdorg.mybatis.generator/groupIdartifactIdmybatis-generator-maven-plugin/artifactIdversion1.4.0/versionconfigurationconfigurationFilesrc/main/resources/generatorConfig.xml/configurationFileverbosetrue/verboseoverwritetrue/overwrite/configurationdependencies!-- 其他的数据库需要修改依赖 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.16/version/dependency!-- 引用实现CommentGenerator接口的jar包 --dependencygroupIdorg.example/groupIdartifactIdMyGenerator/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies/plugin/plugins 4 源码分析 查看执行Mybatis Generator的main方法主要分为两部分解析指定的配置文件与调用生成java文件和Mapper文件的方法 4.1 解析指定的xml配置文件 跟踪解析xml文件的方法cp.parseConfiguration(configFile)发现底层以Document形式读取xml文件根据标签名解析各标签属性保存到Configuration实例中。 其中解析commentGenerator标签的方法parseCommentGenerator(context, childNode)中会获取commentGenerator标签的type属性值也就是自定义的”com.generator.MySQLCommentGenerator”类放到Context实例中。 4.2 调用生成java文件和Mapper文件的方法 xml配置文件解析完成得到Configuration实例后面生成文件的工作都会从Configuration实例中获取所需数据。生成文件的方法主要步骤为1.连接数据库,查询表信息与列信息2.生成文件内容3.写入生成文件。 其中生成文件内容时会根据Context的type属性反射创建MySQLCommentGenerator实例然后调用自定义的生成注释方法。 如生成实体类文件的注释调用addModelClassComment方法 生成字段注释调用addFieldComment方法 生成Get方法注释调用addGetterComment方法 在调用addModelClassCommentaddFieldCommentaddGetterComment等生成注释的方法时执行的都是MySQLCommentGenerator类的方法这样就实现了生成自定义注释的功能。 5 总结 通过使用自定义实现CommentGenerator接口让自动生成的代码加上我们想要的注释可以省去自己加注释的麻烦。 与一般使用Mybatis Generator生成代码的方式一样多实现个接口即可。 使用Maven方式运行时需要在pom.xml引入插件时依赖自己jar包。 作者京东物流 王建乐 来源京东云开发者社区 自猿其说 Tech 转载请注明来源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

商城网站的psd模板免费下载泛站群

点击下载《产品经理的进阶之路》 1. 前言 本文深入剖析了产品经理这一职业从产品专员起步,逐步晋升为产品经理、高级产品经理,直至产品总监的整个职业发展路径。在每个阶段,产品经理都需承担不同的工作职责,展现出独特的职业特点。 2. 产品专员 关键词【产品需求/原型/文…

广州led网站建设嘉兴建网站

azure微软office365邮箱会对频繁连接自身邮箱服务器的IP地址进行,连接邮箱服务器IP限制,也就是黑名单,释放时间不确定,但至少一天及以上。 解决办法,换一个IP,或者新注册一个office365邮箱再重试。 以下是…

建设工程合同通用条款范本2017seo是什么字

1.Redis,MongoDB,Elasticsearch实现地理位置查询比较 1.1 Redis: 优点:Redis提供了地理空间索引功能,可以通过Geo数据类型进行地理位置查询。这使得Redis在处理地理位置查询时非常高效。 缺点: Redis的地理空间索引功能相对简单&#xff0…

石家庄市建设南大街小学网站中国制造网官方网站下载安装

1-响应时间 响应时间指从用户或事务在客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,这整个过程所消耗的时间 在性能测试实践中,为了使响应时间更具代表性,响应时间通常是指事务的平均响应时间ART 在实践中要…

公司网站发布流程上海新建公司

目录 四.Linux实用操作 12.环境变量 环境变量 环境变量--PATH $ 符号 自行设置环境变量 自定义环境变量PATH 总结 四.Linux实用操作 13.文件的上传和下载 上传,下载 rz,sz命令 四.Linux实用操作 14.压缩和解压 压缩格式 tar命令 tar命令压缩…

做网站广告费装饰网站案例

缘由 MongoDB数据库如下: 如上截图,使用MongoDB客户端工具DataGrip,在filter过滤框输入{ profiles.alias: 逆天子, profiles.channel: },即可实现昵称和渠道多个嵌套字段过滤查询。 现有业务需求:用Java代码来查询…

济南在线制作网站商丘做网站需要多少钱

准备工作1.安装scrapy_redis包,打开cmd工具,执行命令pip install scrapy_redis2.准备好一个没有BUG,没有报错的爬虫项目3.准备好redis主服务器还有跟程序相关的mysql数据库前提mysql数据库要打开允许远程连接,因为mysql安装后root用户默认只允许本地连接,详情请看此文章部署过程…

武侯区建设局门户网站制作网站的公司电话号码

目录 前言 知识储备 图像处理常用算法 算法原理 传统分割方法 1.基于阈值的分割方法

小型企业网站建设的背景清河网站建设公司

文章目录如何生成采购单系统生成采购单的流程基本流程扩展流程找不到符合条件的供应商,要求部分退款(初次生成采购单时)找不到符合条件的供应商,要求全部退款(初次生成采购单时)指定供应商的库存不足&#…

手机微信官方网站首页网页禁止访问怎么办

第十一届蓝桥杯大赛软件赛省赛C/C 大学 B 组 文章目录 第十一届蓝桥杯大赛软件赛省赛C/C 大学 B 组1、字串排序2、门牌制作3、既约分数4、蛇形填数5、跑步锻炼6、七段码7、成绩统计8、回文日期9、子串分值和10、平面切分 1、字串排序 // 转载博客链接 https://blog.csdn.net/we…

店铺详情页设计模板龙斗seo博客

在线订餐系统mysql字段,随便写的了。也许要改变呢。再说吧啊。在线订餐系统mysql字段分成3个表开发1.user2.order3.pay1.用户表包含下面字段 id int 主键,自动累加,不为空,长度10就够了吧;用户名(name) varchar类型 30长度够了吧。…

p2p网站建设报价2p排名绵阳高新区建设局网站

简介 Pyenv 是一个 python 解释器管理工具,可以对计算机中的多个 python 版本进行管理和切换。为什么要用 pyenv 管理python呢,用过的 python 人都知道,python 虽然是易用而强大的编程语言,但是 python 解释器却有多个版本&#…

建筑公司网站广告宣传语高校网站建设近期情况说明

问题窥探之前有个哥们在使用Newtonsoft.Json反序列化的时候,发现明明有数据,但是就是序列化不出来数据到实体里面。咋一看,确实没什么问题啊,字符串的数据是存在的。那么问题出在哪里呢。解决思路1、我让他把字符串复制出来&#…

国外域名注册做违法网站新浪云上传wordpress

如果您使用Java进行编程的时间足够长,则有可能需要为业务用户生成报告。 就我而言,我已经看到几个项目使用JasperReports库来生成PDF和其他文件格式的报告。 最近,我荣幸地观察了Mike和他的团队使用上述报告库及其面临的挑战。 简而言之Jasp…

学校资源网站建设方案wordpress导入文件格式

0 算法简介 快速排序是一种高效率排序算法,它是对冒泡排序的一种改进,它也是一种不稳定排序算法。快速排序的核心是比较、交换和递归。 在待排序数组中指定一个基准元素pivot(一般选取数组首元素),使得数组排序之后基…

网站建设视频l网站开发主框架一般用什么布局

3.1考虑横风向振动的风荷载 图 3.1 流场中的横流截面 Fig 3.1 The lateral section in flow-field 结构沿高度Z方向作用在结构单位长度上的横风向荷载主要来自于升力,其次来自于阻力。高度z处单位长度上的风荷载 式中,为来流与结构的夹角,称…

南宁网站建设及推广招商网站如何做推广

nfs局域网共享网盘配置 服务器端(以ubuntu为例)第一步:安装 NFS 服务器第二步:创建共享目录第三步:配置 NFS 导出第四步:应用配置第五步:配置防火墙第六步:验证配置 客户端&#xff…

自己做的网站百度搜到国家大事新闻近三天

from:http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~ 用sed命令在行首或行尾添加字符的命令有以下几种&…

做网站谁家做的好温州seo博客

视频如何提取文字?你用过哪些视频提取工具?视频转文字工具,又称为语音识别软件,是一款能够将视频中的语音或对话转化为文字的实用工具。它运用了尖端的声音识别和语言理解技术,能精准地捕捉视频中的音频,并…

简述企业网站建设的目的做的最好的微电影网站有哪些

目录 前言阅读对象阅读导航前置知识笔记正文一、单体服务介绍二、服务拆分三、分布式微服务升级前的思考3.1 关于SpringBoot/SpringCloud的思考【有点门槛】 四、SpringCloud升级整合4.1 新建父子项目 学习总结感谢 前言 从本节课开始,我将自己手写一个基于SpringC…