mybatis-metamodel mybatis 元数据模型生成插件开源项目

我要开发同款
匿名用户2020年02月18日
194阅读

技术信息

开源地址
https://gitee.com/thinwonton/mybatis-metamodel
授权协议
Apache

作品详情

mybatis-metamodel是mybatis-plus和tkmapper的元数据模型生成插件,目的是解决它们在复杂场景下自定义SQL时的紧耦合问题。

用途

我们都知道mybatis-plus和tkmapper开源项目是mybatis优秀的增强插件,它们通过重定义MappedStatemet实现了通用增删改查。它们所提供的增删改查的功能,极大提高了开发者的开发效率。

但是,在一些复杂的应用场景下,它们的通用增删改查不能满足我们的开发需求,为了实现需求,需要通过它们内置的条件查询组件自定义查询语句。在这种复杂场景下,就无法避免使用字符串表示表名或者字段名,这在复杂的项目中如果修改了字段名,很容易造成后期运行时错误。

为了避免应用在运行时发生错误,本项目将在编译期提供数据库的元数据,可以帮助应用在编译期就感知原有数据库元数据的修改。

举个li'zi:   我们需要自定义SQL查询用户信息。引入本项目后,可以在编译期自动生成元数据模型UserIfo_.class,元数据模型里面包含每个tablefield的信息,除此之外,还可以通过MetaModelCotext获取对应的表信息。

Mapper//根据example条件查询StrigqueryUserName="hugo_1";ExampleuserIfoQueryExample=ewExample(UserIfo.class);Example.Criteriacriteria=userIfoQueryExample.createCriteria();criteria.adEqualTo(UserIfo_.userame.getColum(),queryUserName);List<UserIfo>userIfosByQuery=userIfoMapper.selectByExample(userIfoQueryExample);Assert.assertEquals(1,userIfosByQuery.size());//获取table名StrigtableName=metaModelCotext.getTableName(UserIfo_.class);Assert.assertEquals("user_ifo",tableName);mybatis-plus //根据map查询//查询userame为hugo_1的数据Map<Strig,Object>map=ewHashMap<>();map.put(UserIfo_.userame.getColum(),"hugo_1");//获取元数据userIfo=userIfoMapper.selectByMap(map).get(0);//wrapper查询//查询address为中国的列表List<UserIfo>userList=userIfoMapper.selectList(    ewQueryWrapper<UserIfo>().eq(UserIfo_.address.getColum(),"中国"));//获取table名StrigtableName=metaModelCotext.getTableName(UserIfo_.class);支持特性mapper

支持MAPPER版本1.1.5+1.支持是否使用原语类型配置usePrimitiveType,默认为false,建议不要开启,没有意义2.支持配置useSimpleType,默认为true3.支持配置eumAsSimpleType4.支持数据库的catalog和schema配置5.支持全局字段转换方式style6.支持@Table注解7.支持@NameStyle注解8.支持@Trasiet、@Colum、@ColumType注解9.支持忽略static/trasiet修饰词的字段

mybatis-plus

支持mybatis-plus版本3.2.0+1.支持全局配置tableUderlie、capitalMode2.支持忽略static/trasiet修饰词的字段3.支持@TableName注解4.支持@TableId、@TableField注解

不支持特性mapper

1.不支持动态表名IDyamicTableName2.不支持方法上使用注解,即eableMethodAotatio全局配置

TODO  mapper  

 

mybatis-plus  

1.支持配置keepGlobalFormat2.支持配置tablePrefix3.支持配置columFormat4.支持配置propertyFormat

使用说明

参考下面的wikigitee

功能介绍

mybatis-metamodel 是 mybatis-plus 和 tk mapper 的元数据模型生成插件,目的是解决它们在复杂场景下自定义 SQL 时的紧耦合问题。 用途 我们都知道 my...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论