mybatis generator eclipse插件是一款专业的Mybatis代码生成器,可以帮助用户各种版本的Mybatis代码,大大提高了编码效率,还解决了数据库简单的crud插入、查询、更新、删除等操作,帮助用户更好的进行数据库的开发和管理。
主要功能
匹配表结构的Java POJO,可能包括:
一个和表主键匹配的类(如果存在主键[注:只有联合主键会有])
一个包含了非主键字段的类(BLOB字段除外[注:单字段做主键时这里会包含])
一个包含了BLOB字段的类 (如果表包含了BLOB字段)
一个允许动态查询、更新和删除的类[注:指的是Example查询]
这些类之间会有适当的继承关系。 请注意可以配置生成器来生成不同类型的 POJO 的层次结构。 例如,如果您愿意您可能会选择针对每个表生成一个单独的实体对象。
MyBatis/iBATIS 兼容 SQL 映射 XML 文件。MBG 在配置中为每个表简单的 CRUD 操作生成 SQL。 生成的 SQL 语句包括:
insert (插入)
update by primary key (根据主键更新记录)
update by example (根据条件更新记录)
delete by primary key (根据主键删除记录)
delete by example (根据条件删除记录)
select by primary key (根据主键查询记录)
select by example (根据条件查询记录集)
count by example (根据条件查询记录总数)
根据表的结构,生成的这些语句会有不同的变化(例如,如果表中没有主键,那么 MBG 将不会生成update by primary key方法)。
Java客户端类会适当的使用上面的对象,生成Java客户端类时可选的。 MBG会为MyBatis 3.x生成如下客户端类:
一个可以和MyBatis 3.x一起使用的mapper接口类
MBG会为iBATIS 2.x生成如下的客户端类:
符合 Spring 框架的DAO类。
只使用iBATIS SQL映射API的DAO。 这种DAO可以通过下面两种方式生成:提供SqlMapClient通过构造方法或者setter注入。
符合iBATIS DAO 框架的DAO (iBATIS可选的一部分,这一框架已经过时,我们建议您使用Spring框架替代)。
mybatis generator eclipse插件安装教程
1.进入Eclipse Marketplace
【Help】 -> 【Eclipse Marketplace...】
2.搜索MyBatis Generator
点击【Install】即开始安装,安装完成后重启Eclipse
3.查看插件
【File】 -> 【New】-> 【Other..】
如下,即表示插件已安装成功
mybatis generator eclipse插件使用教程
重启Eclipse,然后在项目中点右键,就能看到如图:
新建一个generatorConfig.xml 之后呢,接下来就要我们来对其进行配置了,那先来说一说在这个xml 文件中主要的配置项有哪些,或者说哪些配置项是我们必须要填的。
jdbcConnection --- 数据库链接URL、用户名、密码
javaModelGenerator---生成模型的包名和位置,就是mybatis 里面用的一些entity 类的存放路径配置
sqlMapGenerator ---生成的映射文件报名和位置,就是对应mybatis 的写sql 语句的xml文件的存放路径配置
javaClientGenerator---生成DAO的包名和位置,就是mybatis 里面dao 接口的存放路径
table ---这个配置项是配置在项目中操作的数据库表
特别值得注意的是,一般我们用Eclipse的mybatis -generator插件时,都会是在项目中创建一个generatorConfig.xml 文件,所以在xml 文件中的targetProject="" 这一项需要配置的是项目的名字。但是我今天在配置时,我的项目名称叫Cinema,然后targetProject配置的targetProject="Cinema",然而这并没有什么用,在配置好之后点下面的按钮时,程序一直都是显示运行成功,但是在项目的包结构中却迟迟不见文件。所以这个配置项需要特别值得注意,后来各种找解决办法,终于找到了正确的配置项:
我就以javaModelGenerator配置为例:
这个配置就是指定targetProject的路径为Cinema项目下的src/main/Java包下面。
MyBatis-Generator使用:
配置好了之后,使用的时候就是一键操作的事:
这个时候如果能看到配置项中指定的包不再为空时,就意味着generate成功了。