- 浏览: 240874 次
- 性别:
- 来自: 北京
最新评论
-
MCLoginandPwd:
分享一款可视化的工具来生成,拖拽控件,选择数据源就生成了htt ...
使用Mybatis Generator自动生成Mybatis相关代码 -
zxt1985:
我的博客里有下载链接
使用google-diff-match-patch比较文件 -
astarring:
XML配置的方式非常灵活,不过对于新手来说有点困难。我专门写了 ...
使用Mybatis Generator自动生成Mybatis相关代码 -
astarring:
XML配置的方式非常灵活,不过对于新手来说有点困难。我专门写了 ...
使用Mybatis Generator自动生成Mybatis相关代码 -
hw910206:
...
使用Mockito进行单元测试【1】——mock and verify
本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码:
一、构建一个环境:
1. 首先创建一个表:
CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
2. 然后注入数据
insert into pet values('Fluffy', 'Harold', 'cat', 'f', '1993-02-04', null); insert into pet values('Claws', 'Gwen', 'cat', 'm', '1994-03-17', null); insert into pet values('Buffy', 'Harold', 'dog', 'f', '1989-05-13', null); insert into pet values('Fang', 'Benny', 'dog', 'm', '1990-08-27', null); insert into pet values('Bowser', 'Diane', 'dog', 'm', '1979-08-31', '1995-07-29'); insert into pet values('Chirpy', 'Gwen', 'bird', 'f', '1998-09-11', null); insert into pet values('Whistler', 'Gwen', 'bird', null, '1997-12-09', null); insert into pet values('Slim', 'Benny', 'snake', 'm', '1996-04-29', null);
注:这里的sql例子来自 http://dev.mysql.com/doc/refman/5.5/en/creating-tables.html
3. 在 Mybatis 主页 http://code.google.com/p/mybatis/ 上下载 Mybatis mybatis-generator-core [本文使用的是 1.3.0 版本]。当然运行 mybatis-generator 生成的代码还需要下载 mybatis 的 jar 包[本例使用的是 3.0.2 版本],和相关数据库的 jdbc [本文中使用的是MySql的jdbc] 。
二、运行 mybatis-generator
1. 要运行 generator ,需要给 generator 提供一个配置文件,指定其生成的数据库的相关信息。
以下是一个示例:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <classPathEntry location="mysql-connector-java-5.1.6-bin.jar" /> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="true" /> </commentGenerator> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost/test" userId="qgd" password="123456"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <javaModelGenerator targetPackage="test.model" targetProject="../src/main/java"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <sqlMapGenerator targetPackage="test.dao" targetProject="../src/main/java"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <javaClientGenerator type="XMLMAPPER" targetPackage="test.dao" targetProject="../src/main/java"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <table tableName="pet" domainObjectName="Pet"> </table> </context> </generatorConfiguration>
这个配置文件提供了 mybatis-generator所需要的参数信息:
* 其中classPathEntry 是引用的jdbc的类路径,这里将jdbc jar和generator的jar包放在一起了;
* commentGenerator 是用来除去时间信息的,这在配合类似subversion的代码管理工具时使用很有效,因为可以减少没有必要的注释迁入;
* jdbcConnection是指定的jdbc的连接信息;
* javaTypeResolver式类型转换的信息,这里并没有用到;
* javaModelGenerator是模型的生成信息,这里将指定这些Java model类的生成路径;
* sqlMapGenerator是mybatis 的sqlMapper XML文件的生成信息,包括生成路径等;
* javaClientGenerator是应用接口的生成信息;
* table是用户指定的被生成相关信息的表,它必须在指定的jdbc连接中已经被建立。
2. mybatis-generator 有多种运行方式,最简单的就是命令行的方式,只需要指定相应的配置文件的路径即可:
java -jar mybatis-generator-core-1.3.0.jar -configfile ../src/main/resource/config.xml -overwrite
运行后生成的代码包括模型类 test.model.Pet 和 test.model.PetExample , test.dao.PetMapper 接口以及其相对应的 xml 映射文件,在这里就不在赘述了。
三、使用 mybatis-generator 生成的代码
1. 现在我们要利用这些生成的代码,首先我们需要一个关于所有映射的配置文件。需要我们手写如下:【不知道为什么generator没有选择自动生成这个文件,毕竟这些信息generator都可以得到】
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost/test" /> <property name="username" value="qgd" /> <property name="password" value="123456" /> </dataSource> </environment> </environments> <mappers> <mapper resource="test/dao/PetMapper.xml" /> </mappers> </configuration>
2. 另外还要使用然后我们还需要一个Main示例方法来调用这些已生成的代码:
package test; import java.io.Reader; import java.util.List; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import test.dao.PetMapper; import test.model.Pet; import test.model.PetExample; public class Test { public static void main(String[] args) throws Exception { String resource = "MapperConfig.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader); SqlSession sqlSession = sqlMapper.openSession(); PetExample pet = new PetExample(); pet.or().andDeathIsNotNull(); try { PetMapper mapper = sqlSession.getMapper(PetMapper.class); List<Pet> allRecords = mapper.selectByExample(pet); for (Pet s : allRecords) System.out.println(s); } finally { sqlSession.close(); } } }
这样就可以打印出相应的查询结果信息了。
四、小结
该示例的完整的Eclipse工程见附件mybatis-generator-usage.zip,其中已经包含了示例需要使用的jar包。
本文中只是用到了mybatis-generator 的一部分功能,mybatis-generator 生成代码的方式还包括ant或Maven脚本,或者直接使用java API生成;另外通过修改配置文件,generator还可以指定表的生成细节,并可以添加插件。其功能文档在generator的分发包的doc文件夹下有更详细的介绍。
这里使用的表示没有主键的表,针对有一个主键或多个主键的表,mybatis-generator的生成的内容也有所不同,感兴趣的读者可以自行试验一下。
- mybatis-generator-usage.zip (1.6 MB)
- 下载次数: 6708
评论
不仅生成mybatis,还可以编辑规则生成想要的代码,任何研发框架都可以,编写规则,直接生成一套!
ex out of range: -1
这个代码要怎么运行呢?楼主?
这个在代码的lib 目录下运行就可以了。
这个代码要怎么运行呢?楼主?
发表评论
-
使用Mockito进行单元测试【2】—— stub 和 高级特性
2012-03-17 18:39 13515一篇中介绍了Mockito的基本信息,现在接着介绍Mockit ... -
使用Mockito进行单元测试【1】——mock and verify
2012-03-17 17:04 368101. 为什么使用Mockito来进行单元测试? 回答这 ... -
使用google-diff-match-patch比较文件
2011-08-03 10:20 17369要对文本文件的进行比 ... -
结合Spring使用Mybatis Generator生成的代码
2010-11-24 19:49 13908本文将简要介绍怎样利用Spring 整合 Mybatis Ge ... -
将 java.util.Properties 作为参数传入Spring [初级]
2010-11-11 13:18 4812在一个应用中,需要将 java.util.Properties ... -
Hudson java.home 设定
2010-08-20 19:56 3293在学习使用Hudson进行持续集成时,总是报这样的错误: c ... -
Java properties配置资源文件处理
2010-07-28 13:21 4818除了自己实现java文本处理properties配置资源文件这 ... -
使用Guice依赖注入实现工厂模式[5]——Guice的Scope
2010-07-26 21:20 1949Notice: 本文作者只是设 ... -
使用Guice依赖注入实现工厂模式[4]——Factory Method 模式
2010-07-26 21:17 1473Notice: 本文作者只是设计模式、Guice和依赖注入的初 ... -
使用Guice依赖注入实现工厂模式[3]——Builder 模式
2010-07-26 21:12 1482Notice: 本文作者只是设计模式、Guice和依赖注入的初 ... -
使用Guice依赖注入实现工厂模式[2]——Abstract Factory 模式
2010-07-26 21:08 1919otice: 本文作者只是设计模式、Guice和依赖注入的初学 ... -
使用Guice依赖注入实现工厂模式[1]——Simple Factory 模式
2010-07-26 21:00 2261Notice: 本文作者只是设计模式、Guice和依赖注入的初 ... -
StackOverflowError on SqlMapClientBuilder.buildSqlMapClient
2010-07-23 18:36 1420在使用ibatis的时候,出现了这样的错误。原因是引入了两个不 ... -
AttributeError: 'TracError' object has no attribute 'acctmgr'
2010-07-23 18:29 1790使用AccountManager 进行用户管理的时候报了这样的 ... -
trac简易安装指南
2010-07-08 16:43 1861最权威的安装指南当然要参照 trac 的官方网站 http:/ ... -
测试辅助工具 hamcrest
2009-12-24 13:44 5211用了JUnit有一段时间了,竟然从来没有用过assertTha ... -
从iBATIS Hibernate 去日志依赖 看 模块化Java
2009-12-17 17:30 1484前几天看了一篇文章, ...
相关推荐
MyBatis Generator 自动生成代码完整包
使用Mybatis Generator逆向工程自动生成Mybatis相关代码(包含Mysql与Oracle)
使用MyBatis Generator自动生成MyBatis代码,最终生成方式有 1、使用Eclipse插件 2、使用命令行 3、自定义Java代码
使用MyBatis Generator 自动生成Dao、Bean、Mapping。将mysql数据库中的表转换为java中的实体类,接口,和映射文件
MyBatis Generator代码自动生成,重写MyBatis Generator源码,不需要第三方插件了,main方法运行
使用MyBatis Generator自动创建代码 mybatis-generator-core-1.3.2 jar 下载
mybatis-generator 自动生成mybatis dao model层代码
使用MyBatis Generator插件自动生成映射文件,里面有案例,生成的DAO接口、mappering映射文件,实体类。只要修改表名和数据库名就可以用了
MyBatis Generator是一个可以用来生成Mybatis dao,entity,Mapper文件的一个工具,在项目的过程中可以省去很多重复的工作,我们只要在MyBatis Generator的配置文件中配置好要生成的表名与包名,然后运行一条命令就会...
压缩包中含有word文档教程,简单设置后双击批处理即可生成对应文件,复制到项目中即可。简单方便,生成的mapper.xml已包含大部分简单的sql操作语句,mybatis开发者必备工具。
mybatis generator插件自动生成代码实例,数据库使用mysql
Mybatis Generator自动生成代码实例,具体过程和效果看博文 http://blog.csdn.net/evankaka/article/details/47023955
使用MyBatis Generator生成DAO
自己找资料,慢慢高了一个mybatis自动生成代码的类,当然是在mybatis-generator基础之上的,由于项目中有lombok,所以需要对生成的地方进行改造。我将改造后的文件都打包上传了,需要的同学拿去吧 zip包里面包含: ...
最近mybatis的官网上 mybatisGenerator 代码自动生成工具 下不了了,在这里分享一下,亲自使用过,挺好用的
NULL 博文链接:https://itsaga.iteye.com/blog/2285343