@todo
- JPA - 简短命名推理 @ugly
- queryDSL - 黑化版JPA @minor @ignore
- MBG - 主动生成代码 @nice
- MybatisPlus/tk - 无侵入加强 @nice
- JOOQ - 链式正统 @nice @minor @pay @ignore
- BeetlSQL - 去XML化 @minor @ignore
- APIJSON - 反转业务控制权 @doubt @ignore
- serverless - 灵便组装 @nice ->>
主动生成代码 @nice
MyBatisCodeHelperPro
/EasyCode --> IDEA插件 @nicemybatis-generator
@nicemybatis-generator-gui
- https://github.com/zouzg/myba...
auto-value
- https://github.com/google/aut...
immutables
- https://github.com/immutables...
hasor + Dataway ?? @todo
- https://www.hasor.net/web/ind...
- https://www.hasor.net/web/dat...
- https://www.hasor.net/web/dat...
主动生成代码 @demo
easycode应用 @simple
- https://mp.weixin.qq.com/s/FE...
如同和MyBatisCodeHelperPro插件差不多1) 装置Easy Code插件2) 连贯数据库2) 选中数据库表, 右键EasyCode生成
无侵入加强 @nice
- mybatis-plus ->>
- TKmybatis ->>
Ktorm
- 基于kotlin??
- @code https://github.com/vincentlau...
- @doc https://ktorm.liuwj.me/
// @demo val employees = Employees .joinReferencesAndSelect() .whereWithConditions { if (someCondition) { it += Employees.managerId.isNull() } if (otherCondition) { it += Employees.departmentId eq 1 } } .orderBy(Employees.id.asc()) .limit(0, 10) .map { Employees.createEntity(it) }
人道主义去XML
- beetlsql =>
markdown
@minor - 间接写在mybatis3的注解里?? @ignore --> 放弃
人道主义去XML @demo
Mybatis去xml化 @building
- kotlin写的
- https://juejin.im/post/5c139b...
- @code https://github.com/wuhao000/m...
@SelectedProperties(properties=["id", "name", "age"])fun findSimpleInfoList(): List<User>
反转业务控制权
艰深讲就是甩锅给前端
, 本人变成一个解决平台
APIJSON @ignore
- 目前不太好用, 生态也不算成熟, 找不到后盾demo, 算一种思路吧 @myself
- 后端接口和文档自动化,前端(客户端) 定制返回JSON的数据和构造
@code
- https://github.com/APIJSON/AP...
- https://github.com/TommyLemon...
- https://github.com/APIJSON/AP...
@doc
- https://github.com/APIJSON/AP...
// 发送JSON{ "Moment": { "id":12, "@column":"content" }}// 响应构造{ "Moment": { "content": "1111534034" }, "code": 200, "msg": "success"}
参考
Fluent MyBatis应用入门 @todo
- https://juejin.im/post/688479...
这款工具让SpringBoot不再须要Controller、Service、DAO、Mapper! @ad @ignore
- https://mp.weixin.qq.com/s/pe...
SpringBoot疾速整合Mybatis(去XML化+注解进阶) @demo @ignore
- @doc https://mp.weixin.qq.com/s/_O...
- @code https://github.com/yizhiwazi/...
- @doc-mybatis3对应的文档 http://www.mybatis.org/mybati...
@Select@Insert@Update@Delete// 高级注解@SelectProvider@InsertProvider@UpdateProvider@DeleteProvider@Results 用于填写后果集的多个字段的映射关系.@Result 用于填写后果集的单个字段的映射关系.@ResultMap 依据ID关联XML外面<resultMap>.// 疾速生成映射后果集public static String getResultsStr(Class origin) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("@Results({\n"); for (Field field : origin.getDeclaredFields()) { String property = field.getName(); //映射关系:对象属性(驼峰)->数据库字段(下划线) String column = new PropertyNamingStrategy.SnakeCaseStrategy().translate(field.getName()).toUpperCase(); stringBuilder.append(String.format("@Result(property = \"%s\", column = \"%s\"),\n", property, column)); } stringBuilder.append("})"); return stringBuilder.toString();}