大家好,这里是小奏 ,觉得文章不错可以关注公众号小奏技术
为什么要写这个库
市面上的mybatis plus
代码生成器有很多,但是都不太满足自己的要求。
在使用mybatis plus
自己会有一个规范,就是不要将mybatis plus
的Warpper
暴露到DAO
以外的层级,特别是Service
层
不然造成的后果就是Warpper
在Service
满天飞。然后有如下弊端
-
Service
层充满了数据查询的各种Warpper
,逻辑不够解耦,导致应该在数据层的逻辑全部暴露在Service
层 -
Service
层的数据查询没有封装无法复用
所以我们一般使用mybatis plus
的标准用法结构是
- infra
- dao
- mapper
- OrderMapper.java
- impl
- OrderDAOImpl.java OrderDAO.java
- mapper
- entity
- OrderDO.java
- dao
具体的代码如下:
- OrderDO
java
@Data
public class OrderDO {
}
- OrderMapper
java
@Mapper
public interface OrderMapper extends BaseMapper<OrderDO> {
}
- OrderDAO
java
public interface OrderDAO extends IService<OrderDO> {
}
- OrderDAOImpl
java
@Repository
@RequiredArgsConstructor
public class OrderDAOImpl extends ServiceImpl<OrderMapper, OrderDO> implements OrderDAO {
private final InfluhubOrderMapper influhub_orderMapper;
}
在外部只使用OrderDAO
,将Wrapper
相关的逻辑都封装在DAO
中,不蔓延到Services
使用
页面
使用方式有两种
脚本方式使用
直接在releases:github.com/weihubeats/...
目前支持平台如下
- mac arm
- mac x86
如果需要windows可以自己打一个包
下载完解压双击运行。然后在浏览器访问http://localhost:8080
如果遇到MAC应用无法打开或提示"来自身份不明开发者"
解决方法:
设置→安全与隐私 仍要打开
浏览器的页面长这样
由于不同数据库的SQL解析可能有不同,所以支持选择数据库
目前对PostgreSQL
做了比较完整的测试,没太大问题。
MySQL
还没测试过
然后直接点击生成代码
- 效果
也可以直接以源码的方式使用
源码方式
直接运行main.go
即可
然后访问http://localhost:8080
总结
自己整体使用效果感觉还可以,后续会持续更新。
又需要的小伙伴可以自己去下载,有功能或者建议也可以去github
提
会及时处理的哈哈
觉得不错可以帮忙点一个star
哈哈