写了一个简单的for mybatis的jsr303 代码生成插件,用于配置在mybatis 的代码生成配置参数文件中,代码如下:
package com.shinowit.mybatis.plugin;
import java.sql.Types;
import java.util.List;
import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.PluginAdapter;
import org.mybatis.generator.api.dom.java.Field;
import org.mybatis.generator.api.dom.java.TopLevelClass;
public class JSR303Plugin extends PluginAdapter {
@Override
public boolean validate(List<String> warnings) {
return true;
}
@Override
public boolean modelFieldGenerated(Field field,
TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn,
IntrospectedTable introspectedTable, ModelClassType modelClassType) {
if (false==introspectedColumn.isNullable()){
if (false==introspectedColumn.isIdentity()){
topLevelClass.addImportedType("javax.validation.constraints.NotNull");
field.addAnnotation("@NotNull");
}
}
if (true==introspectedColumn.isStringColumn()){
topLevelClass.addImportedType("javax.validation.constraints.Size");
field.addAnnotation("@Size(min = 0, max = "+introspectedColumn.getLength()+" , message = \"长度必须在{min}和{max}之间\")");
}
if (introspectedColumn.getJdbcType()==Types.INTEGER){
topLevelClass.addImportedType("javax.validation.constraints.Max");
field.addAnnotation("@Max(value=2147483647,message=\"最大值不能高于{value}\")");
topLevelClass.addImportedType("javax.validation.constraints.Min");
field.addAnnotation("@Min(value=-2147483648,message=\"最小值不能低于{value}\")");
}
return super.modelFieldGenerated(field, topLevelClass, introspectedColumn,
introspectedTable, modelClassType);
}
}
有兴趣的可以继续写对byte类型,short类型的取值大小验证
分享到:
相关推荐
在本主题中,我们将深入探讨如何使用MyBatis自动构建Java Bean,以便更高效地处理数据对象。 一、MyBatis简介 MyBatis是一个轻量级的ORM(对象关系映射)框架,它消除了手动编写大量SQL和结果集映射的繁琐工作。...
"mybatis_plugin 2.92" 提供的可能是对 MyBatis 插件框架的一个特定版本的实现或增强,版本号 2.9.2 暗示这是一个相对成熟的发布,可能修复了之前版本的若干问题并引入了一些新特性。 在 MyBatis 中,插件主要通过...
MyBatis反向生成bean是一项高效实用的开发工具功能,它可以帮助Java开发者快速地根据数据库表结构自动生成对应的Java Bean类,极大地提升了开发效率。在实际的开发过程中,手动创建这些Bean类可能会耗费大量时间,而...
MyBatis Plugin是一款针对MyBatis框架的增强工具,它为开发者提供了强大的SQL日志、自动导入、自动完成等实用功能。2.92版本可能是该插件的一个稳定且受到用户喜爱的版本,因为开发者特意保留了这个版本,以防升级到...
《MyBatis Plugin在IDEA 2017中的应用与问题解决》 在Java开发领域,MyBatis是一款广泛使用的持久层框架,它简化了数据库操作,使得开发者能够更加专注于业务逻辑。为了提高开发效率,IntelliJ IDEA(简称IDEA)...
为了解决这个问题,MyBatis提供了一种自动化工具,可以自动生成Bean和Mapper,大大提升了开发效率。 生成Bean和Mapper工具有很多种,不仅限于MyBatis官方提供的,还有许多第三方插件和工具。这些工具能够根据数据库...
mybatis_plugin 2.92 破解版,本人亲测可用,欢迎下载,希望对大家有帮助~
亲测可用
为了更好地监控和调试SQL语句,MyBatis提供了一个名为"MyBatis Log Plugin"的日志插件。本文将围绕"Mybatis_log_plugin_2020idea.jar"这一主题,深入探讨如何在IntelliJ IDEA(简称IDEA)中安装和使用此插件,以及它...
在Java开发中,为了提高开发效率,开发者常常会利用MySQL的反向工程(Reverse Engineering)功能,配合MyBatis,自动生成Bean、Mapper以及DAO(数据访问对象)等代码,从而避免手动编写这些重复性的基础代码。...
MyBatis generator is available as an Eclipse plugin and includes the extra capability of merging generated Java files as databases evolve. Documentation for MyBatis generator is integrated into the ...
MyBatis Plugin 3.21 是一个专为IntelliJ IDEA设计的插件,它极大地增强了对MyBatis框架的支持。这个插件是开发者工具箱中的一个重要组件,特别是对于那些经常处理MyBatis映射文件和SQL语句的开发人员来说。在本文中...
由于Mybatis Log Plugin现在已经收费了,所以我们可以下载其未收费的历史版本进行安装 如果你不清楚或者不了解 Mybatis Log Plugin 是什不妨听我解释一下:Mybatis Log Plugin是控制台 sql 打印插件 帮助我们打印sql ...
在Java开发中,MyBatis可以极大地简化数据访问层的工作,尤其是对于POJO(Plain Old Java Object)、XML和Bean的处理。这个“mybatis(pojo,xml,bean)生成工具”就是针对MyBatis框架,帮助开发者自动化生成这些...
2018mybaits_plugin 描述的是一个在2018年分享的MyBatis相关的插件集合,旨在为开发者提供便利,提升开发效率。 MyBatis 插件机制是MyBatis框架中的一个重要特性,它允许用户自定义拦截器来增强MyBatis的功能。例如...
在本项目中,我们关注的是如何使用 MyBatis 自动生成 Bean、Mapper 和 Service 代码,这样可以减少手动编写这些基础组件的时间,让开发者更专注于业务逻辑。 1. **Bean(实体类)生成**: 在 MyBatis 中,Bean 类...
IDEA更新到2020.1之后mybatis log plugin 就开始付费了,找了很久的这个jar包 mybatis_log_plugin_2.1.0离线版本 把 mybatis 输出的sql日志还原成完整的sql语句。 将日志输出的sql语句中的问号 ? 替换成真正的参数值...
mybatis-log-plugin,下载后到idea, setting->plugins->点击设置,选择install plugin from disk进行安装 打开方式Tools->Mybatis Log Plugin 支持到idea-2020.2.2
本插件,名为"Mybatis_Plugin",专为IntelliJ IDEA设计,旨在进一步提升Mybatis在开发中的效率。 该插件的核心功能是实现了Mapper到XML的便捷跳转。在传统的Mybatis开发中,当我们在编写Java代码(如Mapper接口)时...