mybatis-plus 是一款 mybatis 动态 SQL 自动注入 mybatis 增删改查 CRUD 操作中间件。让 mybatis 拥有 hibernate 的单表高效,也保留 xml sql 的灵动, 减少你的开发周期优化动态维护 xml 实体字段,您再也不要羡慕不需要纠结是选择 hibernate 还是 jpa 呢?请记住还有 MP 2018 不容错过。 代号:怀念 , 纪念 2017 baomidou 组织小伙伴 MP 共同成长之路,奔向 2018 旺旺旺,再次感谢 OSC @红薯、感谢 baomidou 组织所有基友们。 升级日志: [v2.1.9] 2018.01.28 page 分页新增控制是否优化 Count Sql 设置 // 不进行 count sql 优化 page.setOptimizeCountSql(false); 注入定义填充,支持sql注入器,主键生成器. fixed github issues/231 fixed github issues/234 修改逻辑删除 selectByIds coll 问题 fixed gitee issues/IHF7N fixed gitee issues/IHH83 兼容配置方式,优先使用自定义注入. 调整 Gradle 依赖模式 IdType 可选 ID_WORKER_STR 字符串类型 IdWorker.getIdStr() 字符串类型 TableField 注解新增属性 update 预处理 set 字段自定义注入 fixed gitee IHART 例如:@TableField(.. , update="%s+1") 其中 %s 会填充为字段 输出 SQL 为:update 表 set 字段=字段+1 where ... 例如:@TableField(.. , update="now()") 使用数据库时间 输出 SQL 为:update 表 set 字段=now() where ... TableField 注解新增属性 condition 预处理 WHERE 实体条件自定义运算规则 @TableField(condition = SqlCondition.LIKE) private String name; 输出 SQL 为:select 表 where name LIKE CONCAT('%',值,'%') 添加 spring-boot-starter 模块内置 jdbc mp 包不需要单独引入 更舒服的使用 boot 添加对 SQL Server 视图生成的支持 允许字段策略独立设置,默认为 naming 策略 strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略 strategy.setColumnNaming(NamingStrategy.underline_to_camel);// 允许字段策略独立设置,默认为 naming 策略 代码生成器抽象 AbstractTemplateEngine 模板引擎抽象类,可自定义模板引擎,新增内置 freemarker 可选 // 选择 freemarker 引擎 mpg.setTemplateEngine(new FreemarkerTemplateEngine()); 相关 SQL 解析如多租户可通过 @SqlParser(filter=true) 排除 SQL 解析 # 开启 SQL 解析缓存注解生效 mybatis-plus: global-config: sql-parser-cache: true 解决xml加载顺序问题,可随意引入其他 xml sql 片段 修复 author 带123的bug fix #IGQGE:Wrapper为空,但是page.getCondition()不为空的情况,Condition无法传递问题 fix #IH6EDagination dubbo 排序等属性序列化不支持 判断Wrapper是否为空,使用==,避免被equals方法重载的影响 避免注入自定义基类 剥离 sql 单独提出至 SqlUtils 统一缩进编码风格 优化生成代码执行性能 github issues/219 优化 sql 解析过程 fixed gitee issues/IHCQB springboot-configuration-processor 修改 compileOnly为optional spring-boot-starter 合并为 mp 核心模块 升级 demo 其他优化 mybatis-plus 2.1.9 发布,代号:怀念下载地址