分享一个 Mybatis 代码生成插件: Yobatis 。

2018-02-27 14:55:06 +08:00
 linbiaye

Yobatis

Yobatis DAO 是一款以 Mybatis-Generator 为核心的 eclipse 插件;可以按照 DAO 层形式生成 Mybatis 相关代码。如果项目是基于 MySQL/Mybatis/SpringMVC/Servlet(tomcat),该插件可生成 Mybatis-Generator 的配置文件,减少手写配置工作量。表结构变更以后,只需要点击鼠标就可以更新相关代码,yobatis 会保留手写部分的代码(java 和 xml)

使用简单

如果项目是基于 MySQL/Mybatis/SpringMVC/Servlet(tomcat),可以尝试使用 yobatis 自动生成配置文件,如下图:

Yobatis 会根据数据库表生成相应的 DAO, domain, mybatis xml 文件, 以及构造查询条件的类 XxxCriteria。假设有一张 book 表:

+--------+------------+------+-----+---------+----------------+
| Field  | Type       | Null | Key | Default | Extra          |
+--------+------------+------+-----+---------+----------------+
| id     | bigint(20) | NO   | PRI | NULL    | auto_increment |
| name   | char(100)  | YES  |     | NULL    |                |
| author | bigint(20) | YES  |     | NULL    |                |
+--------+------------+------+-----+---------+----------------+
// 根据主键查询记录
@Override
@Transactional(rollbackFor = Exception.class)
public Book getById(Long id) {
  return bookDao.selectOne(id);
}
// 查询名字为 name, 或作者是 authorId 的所有书籍: where (name = ?) or (author_id = ?) 
@Override 
@Transactional(rollbackFor = Exception.class) 
public List nameEqualOrAuthorIs(String name, long authorId) { 
  BookCriteria criteria = BookCriteria.nameEqualTo(name).or().andAuthorEqualTo(authorId); 
  return bookDao.selectList(criteria); 
}

项目地址

更多详细信息请移步: https://github.com/linbaiye/yobatis

3964 次点击
所在节点    Java
13 条回复
BBCCBB
2018-02-27 15:08:43 +08:00
支持
Charkey
2018-02-27 15:13:41 +08:00
查询需要事务?
linbiaye
2018-02-27 15:21:51 +08:00
@Charkey 看需求
linbiaye
2018-02-27 15:22:13 +08:00
@BBCCBB 感谢,欢迎试用 :)
merlinX
2018-02-27 16:06:39 +08:00
有 idea 版本的插件嘛?
linbiaye
2018-02-27 20:02:09 +08:00
@merlinX 暂时没有哦,正在看 idea 怎么弄
0915240
2018-02-28 00:06:43 +08:00
对于这种轮子我是绝对的支持的
linbiaye
2018-02-28 10:30:53 +08:00
@0915240 感谢支持。其实并不是想要造轮子,主要是不想自己手写配置文件。另外原生的不支持 dao,只有 mapper.
daydaydayup
2018-02-28 12:07:06 +08:00
支持楼主,不过还是直接用 Generator 就足够了,配置文件也只是一次的事情.
qiyuey
2018-02-28 16:54:39 +08:00
有注解版的吗
linbiaye
2018-02-28 17:18:10 +08:00
@qiyuey 暂时没有哦,做成插件&配置的形式就是不喜欢入侵代码。
kid1412621
2018-03-01 00:26:07 +08:00
mybatis 官方那个插件没做?
linbiaye
2018-03-01 10:10:55 +08:00
@kid1412621 做了呀,mapper 形式,外加手写配置文件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/433139

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX