开源框架mybatis-enhance-actable.1.1.0.RELEASE新版本迭代

五年前作为一名工作一年的程序渣的我,开始了思考,为了降低重复性及含金量低的技术工作,我准备结合自己的痛点写一个小插件,因为当时对mybatis和hibernate都有接触,总结分析后,觉得mybatis的灵活性更大未来前景广泛,而且入门难度最低,但同时在当时他的缺陷也很明显。

首先他不具备跟hibernate一样的自动建表能力,表结构稍有变化需要,准备sql脚本,然后去改自己的实体类,这种过程是很无聊的,而且万一上生产忘记执行某个sql脚本,或用了错误的脚本就尴尬了,毕竟人做的事情不如机器做的靠谱。

其次他不具备通用的CUDR的能力,当时大家都用一款小工具,小工具可以根据实体类生成出通用的CUDR的xml然后再拷贝到项目中,显然这个也不让人满意,现在想想都有点恶心,我们希望的是拥有像hibernate一样提供的通用标准的CUDR方法直接调用就可以。

目标设定好之后,就开始了我的开源生涯,当时觉得这是一件很酷的事情 😛,经过一番调查设计,很快1.0.0版本诞生了(过程还是蛮复杂的,毕竟对于当时的渣渣我来说,任何东西都停留在会用的程度,要去深挖各个工具的巧妙结合和使用,包括mysql数据的建表逻辑等等都需要查阅大量的资料,进行详细的设计,以及各种尝试),东西出来觉得挺开心的,也确实有再之后的一些小项目中用到过,用过的同事也都觉得很提升工作效率,也提了一些改进,才有了后续的各个版本迭代。

源码放到gitee上之后,本来希望借助这个平台会有更多感兴趣的小伙伴大家一起来维护这个,但…哈哈,显然想的太简单了,不过也确实有小伙伴在使用,也提出了一些问题和想法,偶尔也有提交代码,总之还是有一点点活力的,逐渐的几年过去了,感叹时间过得真快… 说实话怪我,确实工作越来越忙,很少拿出时间来搞这个,就偶尔隔几个月汇总一下问题,然后结合自己的想法做 一些优化改进,现在诸如此类的开源框架我已经见过几个了,而且都挺流行的,这里不说名字了,第一次听同事说起时还觉得很诧异,也有点失落遗憾,不过拥抱新事物是好的,更何况它还那么香…

不过大多框架做的事CUDR这种能力的体现,而我的这款框架同时支持建表更新表的能力,当然由于当初设计的时候自己还是个菜鸟,也挖了不少的坑,现在也在不断的重构填坑,后续还会有一次针对CUDR的大版本迭代,总之只要还有人在用,那就证明它还是有些价值的,我就会坚持维护它,下面介绍下本次迭代的内容,包括该框架的简介,和gitee连接地址。

简介:该框架是对Mybatis做的增强功能,为了能够使习惯了hibernate框架的开发者能够快速的入手Mybatis,A.CTable是一个基于Spring和Mybatis的Maven项目,增强了Mybatis的功能,过配置model注解的方式来创建表,修改表结构,并且实现了共通的CUDR功能提升开发效率,目前仅支持Mysql,后续可能会扩展针对其他数据库的支持。

开源框架mybatis-enhance-actable新版本点击查看1.1.0.RELEASE发布功能清单:

  1. 修复issues/I160LP:drop拼写的问题(版本1.0.9.RELEASE)

  2. 优化issues/I1IENW:@Index,@Unique创建索引和唯一约束的实现逻辑,默认会给索引名和约束名增加前缀actable_idx_和actable_uni_方便更新删除时只针对这两个前缀的进行删除更新,避免删掉手动创建的字段的索引约束 (版本1.0.9.RELEASE)

  3. 修复issues/I16OZQ:@Index,@Unique在只设置了索引名称没有设置索引字段时,报错的bug,并且原有name改为value,原有value改为columns(版本1.0.9.RELEASE)

  4. 迭代issues/I1IF5E:增加对tinyint/smallint/mediumint/year/blob/longblob/mediumblob/tinytext/tinyblob/binary字段类型的支持 (版本1.0.9.RELEASE)

  5. 迭代issues/I1IF5Q:框架模式新增add模式,本模式下只具备,新增表/新增字段/新增索引/新增唯一约束的功能,不会做修改和删除 (版本1.0.9.RELEASE)

  6. 迭代issues/I193FC:@Column的name属性改为非必填,不填默认使用属性名作为表字段名 (版本1.0.9.RELEASE)

  7. 迭代issues/I193FC:@Column的type属性改为非必填,不填默认使用属性的数据类型进行转换,转换失败的字段不会添加 (版本1.0.9.RELEASE)

    支持java类型转mysql类型如下:

     java.lang.String
     java.lang.Long
     java.lang.Integer
     java.lang.Boolean
     java.math.BigInteger
     java.lang.Float
     java.lang.Double
     java.math.BigDecimal
     java.sql.Date
     java.util.Date
     java.sql.Timestamp
     java.sql.Time
    

    本次迭代至1.0.9.RELEASE,极大的简化了注解的使用复杂度,在保留原有复杂的自定义配置能力的同时,增加了更多的默认适配能力
    也就是对于@Column标签如果对字段命名等没有任何要求的情况下,直接使用标签即可,无需配置类型等参数,会默认根据上面支持的类型去进行匹配转换

  8. 迭代issues/I1ILS6:@IsKey/@IsAutoIncrement/@IsNotNull用来代替 @Column中的isKey/isAutoIncrement/isNull三个属性,当然旧的配置方式仍然是支持的 (版本1.0.9.RELEASE)

  9. 紧急修复1.0.9.RELEASE版本CUDR的bug,请不要使用1.0.9.RELEASE版本(版本1.0.9.1.RELEASE)

  10. 迭代issues/I1IVXK:BaseMysqlCRUDManager该工具类废弃,请勿使用,新增工具类BaseCRUDManager,新的insert接口取消了对主键的integer类型的限定,主键可以自由使用类型(版本1.1.0.RELEASE)

    新增工具类BaseCRUDManager的方法列表如下,详细接口文档见文档结尾部分:

    <T> List<T> select(T t);
    <T> T selectByPrimaryKey(T t);
    <T> List<T> selectAll(Class<T> clasz);
    <T> int selectCount(T t);
    <T> T selectOne(T t);
    <T> int delete(T t);
    <T> int deleteByPrimaryKey(T t);
    <T> boolean existsByPrimaryKey(T t);
    <T> T insert(T t);
    <T> T insertSelective(T t);
    <T> boolean updateByPrimaryKey(T t);
    <T> boolean updateByPrimaryKeySelective(T t);
    <T> List<T> query(String sql, Class<T> beanClass);
    List<LinkedHashMap<String, Object>> query(String sql);
    
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
MyBatis-Plus是一个基于MyBatis的增强工具,它简化了在使用MyBatis时的开发流程。MyBatis-Plus提供了许多实用的功能,如代码生成器,分页插件,通用CRUD方法等。你提到的mybatis-plus-generator3.5.3.1是MyBatis-Plus的代码生成器版本。 MyBatis-Plus的代码生成器可以根据数据库表结构自动生成实体类、mapper接口以及mapper.xml文件等。通过配置相关参数,你可以灵活地生成符合项目需求的代码文件,极大地提高了开发效率。 如果你想使用MyBatis-Plus的代码生成器,你可以按照以下步骤操作: 1. 在项目中引入MyBatis-Plus依赖。你可以在项目的pom.xml(如果是Maven项目)或者build.gradle(如果是Gradle项目)文件中添加相应的依赖配置。 2. 配置数据库连接信息。在代码生成器的配置文件中,你需要提供数据库连接的相关信息,包括数据库URL、用户名、密码等。 3. 配置生成策略。你可以通过配置生成策略来指定需要生成哪些表的代码文件,以及生成的文件存放的路径等。 4. 运行代码生成器。在完成上述配置后,你可以执行代码生成器的主类,它会根据配置信息自动在指定目录生成相应的代码文件。 需要注意的是,虽然代码生成器可以极大地提高开发效率,但在使用过程中也需要谨慎操作。生成的代码文件通常需要根据实际需求进行一定的修改和调整,以确保其与项目的业务逻辑一致。 希望对你有所帮助!如果你有更多关于MyBatis-Plus或其他方面的问题,可以继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮生(FS)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值