- 浏览: 575786 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- webservice (3)
- oracle (37)
- sqlserver (8)
- j2ee (56)
- linux (7)
- javaweb (47)
- office (1)
- struts (23)
- hibernate (11)
- spring (29)
- 网络 (2)
- tomcat (13)
- tongweb (0)
- weblogic (0)
- powerdesiginer (3)
- svn (3)
- js (20)
- ie (2)
- 编译 (3)
- css (2)
- 操作系统 (5)
- Android (41)
- jbpm4.3 (1)
- fckeditor (3)
- 操作excel (2)
- db2常用命令 (1)
- ibatis (5)
- mysql (16)
- 表达式语言 (1)
- java方式调用存储过程 (1)
- ca (1)
- linux客户端 (1)
- 电子数码 (1)
- 行业应用 (12)
- 开发工具 (4)
- 面试 (1)
- 计算机原理 (1)
- NOSQL (5)
- 虚拟机 (1)
- nginx (0)
- velocity (2)
- jndi (1)
- spring mvc (39)
- springmvc (32)
- 安全 (5)
- htmleditor (6)
- iphone4 (1)
- html (4)
- jstl (2)
- ckeditor (5)
- 连接池 (1)
- jquery (6)
- 分页 (1)
- 技术研发规则 (1)
- javamail (1)
- maven (2)
- upload (1)
- log (1)
- 测试 (10)
- spring roo (1)
- 版本控制 (2)
- find bugs (0)
- jsf (0)
- springroo (0)
- 小道理 (1)
- 小道理,技术标准 (1)
- jsf (0)
- bitbao (2)
- redmine (3)
- 团队意识 (1)
- mybatis (2)
- jquery mobile (1)
- flexpaper (0)
- json (4)
- URLRewriteFilte (1)
- html5 (1)
- 都乐保活动 (0)
- openfire (0)
- TreeMap (1)
- build (0)
- javaweb,tag (0)
- algorithm (1)
- tag (2)
- 扯淡 (0)
- mac (2)
- 叶一火(老一) (1)
- 游玩 (1)
- 编码 (1)
- 上线部署 (0)
- 研发管理 (0)
- thumbnailator (2)
- 旅游 (0)
- bingweibo (1)
- 杂谈 (4)
- ktv (1)
- weibo (1)
- 爱情 (2)
- 饮食 (1)
- MediaWiki (1)
- git (1)
- 版本库 (1)
- servlet (1)
- 感悟 (1)
- 人生 (1)
- highcharts (1)
- poi (0)
- websphere (0)
- php (1)
最新评论
-
woshixushigang:
good
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
nathanleewei:
org.springframework.jdbc.core.B ...
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
浪禾木:
请问是ckeditor\contents.css吗?改过以后 ...
ckeditor自动换行问题 -
simusuishi:
刚哥威武!
ckeditor取值赋值问题 -
a455642158:
收割完毕……
Android开源项目源码下载(不断更新中)
本文将简要介绍怎样利用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的生成的内容也有所不同,感兴趣的读者可以自行试验一下。
发表评论
-
from_unixtime,unix_timestamp
2012-10-07 09:30 1252进来休息下,来点我吧 from_unixtime() ... -
mysql utf-8编码 一个汉字占用3个字节
2012-09-05 16:18 1046最近在弄新鲜事分享,转发以及评论,发现输入发自带的表情占用四个 ... -
Out of range value for column 'bindUid' at row 1
2012-07-19 20:35 1489今天弄新浪微博绑定,数据库oauth_token表需要插入bi ... -
解决linux环境下上传文件及读取csv文件乱码
2012-03-09 16:17 3364昨天弄了短信运营工 ... -
mybatis 多参数不用vo传值需要@param()
2012-08-03 16:49 1378另外MyBatis还提供了一个使用注解来参入多个参数的方式 ... -
varchar 和 text区别
2012-02-28 20:03 1582varchar在mysql5.0.3之前可存0-255个字节的 ... -
mysql delete语法
2012-02-20 14:17 1091以下的文章主要描述的是MySQL DELETE语法的详 ... -
System.getProperty(key)
2012-02-15 15:08 1014public static void main(String ... -
开发过程中的注意事项
2012-02-14 13:22 7981、测试用例必须看。 2、解决不了的问题,请教。 3、自定 ... -
mysql datetime long to date
2012-02-07 21:37 0Calendar c = Calendar.getInstan ... -
MySQL日期时间函数大全
2012-02-07 11:46 905DAYOFWEEK(date) 返回日 ... -
拒绝平庸——浅谈Web登录页面设计
2012-01-29 10:43 1121用户活跃度是检验产品 ... -
自己手动打jar
2012-01-10 16:49 890用最笨的方式打个可运行的jar包: 1、用eclipse e ... -
eclipse codestyle和formate
2011-12-26 11:20 1056北京都乐宝软件信息技术公司的代码风格 -
Common-logging 与 Log4j的结合使用
2011-12-25 15:58 1203转自:http://hi.baidu.com/suofang/ ... -
org.springframework.beans.TypeMismatchException: Failed to convert property valu
2011-12-20 20:05 3724org.springframework.beans.TypeM ... -
查询当前日期的开始时间和结束时间
2011-11-29 22:11 1329Date date = new Date(); Cal ... -
给现有表添加字段
2011-11-29 20:45 518ALTER TABLE `user` ADD COLUMN ... -
spring mail
2011-11-25 17:12 915最近项目中要用到邮件服务,主体框架采用了spring mvc, ... -
sql Column 'id' in order clause is ambiguous
2011-11-17 16:06 3060编写数据库查询语句时候报错,发现语句正确啊. s ...
相关推荐
总结来说,MyBatis Generator是一个强大的代码生成工具,它能自动生成包括Service在内的持久层代码,大大简化了开发过程。通过定制配置和模板,开发者可以根据项目需求调整生成的代码结构和风格,提升开发效率,同时...
总之,Mybatis Generator是Mybatis框架下的一款强大辅助工具,它通过自动化代码生成,帮助开发者节省大量手动编写基础代码的时间,提高了开发效率,降低了出错概率。熟练掌握Mybatis Generator的使用,能让你在...
MyBatis Generator(MBG)是一款强大的工具,用于自动生成MyBatis框架的SQL映射文件、Java模型类以及DAO接口。它极大地提高了开发效率,减少了手动编写这些基础代码的工作量,使开发者能够更专注于业务逻辑的实现。...
MyBatis Generator 是一个基于 MyBatis 的代码生成工具,能够根据数据库表结构生成相应的 MyBatis 代码,包括实体类、映射文件、DAO 层和 Service 层等。使用 MyBatis Generator 可以大大减少开发时间和工作量,提高...
Mybatis Generator是一款强大的工具,它能够自动生成Mybatis的相关代码,包括Java模型类、Mapper接口与XML配置文件等,极大地提高了开发效率,减轻了开发者的手动编写工作。这个工具是基于Mybatis框架,通过解析...
MyBatis Generator(MBG)是一款强大的自动化代码生成工具,专为MyBatis框架设计,能够自动生成DAO层、实体Bean以及Mapper XML文件,极大地提高了开发效率。在使用MBG时,用户只需要进行简单的配置,就可以自动生成...
本教程将详细讲解如何使用Mybatis Generator针对Mysql和Oracle数据库自动生成相关代码。 首先,我们需要了解Mybatis Generator的基本配置。在项目中创建一个`generatorConfig.xml`配置文件,这是Mybatis Generator...
Mybatis Generator 是一款强大的自动化代码生成工具,它能够极大提高开发效率,特别是在处理与数据库交互的 CRUD(创建、读取、更新、删除)操作时。这个工具能够自动生成 Mybatis 的 XML 映射文件、实体类以及 ...
在"Maven"环境下,我们可以轻松地集成这个插件,实现自动化代码生成,尤其对于处理带有中文注释和注解的需求,Mybatis Generator提供了很好的解决方案。 首先,我们来详细了解一下Mybatis Generator的配置过程。你...
MyBatis Generator是一款强大的工具,它能够自动生成MyBatis框架所需的SQL映射文件、实体类和DAO接口,极大地提高了开发效率。通过重写MyBatis Generator的源码,我们可以进一步定制化生成的代码,使其更符合项目...
mybatis-generator 自动生成mybatis dao model层代码
Mybatis Generator是一个基于Java的代码生成器,它通过读取数据库表结构信息,根据预设的模板生成相应的Java代码。主要涉及的元素包括配置文件、模型类、XML映射文件和Mapper接口。 配置文件是Mybatis Generator的...
这是 IntelliJ IDEA Maven Mybatis generator 自动生成代码 的完整源码 教程地址:http://blog.csdn.net/fenglailea/article/details/78291522
MybatisGenerator本身是没有提供查询指定字段的,例如数据库有5个字段,我想查询其中3个...经过研究MybatisGenerator实现原理,在保证原有功能的基础上,实现了生成查询指定字段的相关方法,下载即可使用。eclipse!
首先,MyBatis的代码生成器(MyBatis Generator,简称MBG)能够自动生成Mapper接口、Mapper XML文件、实体类以及对应的DAO层代码,大大减少了手动编写这些基础代码的时间。通过自定义MBG的配置文件,我们可以定制...
MyBatis Generator是一个可以用来生成Mybatis dao,entity,Mapper文件的一个工具,在项目的过程中可以省去很多重复的工作,我们只要在MyBatis Generator的配置文件中配置好要生成的表名与包名,然后运行一条命令就会...
在实际开发中,为了提高开发效率,MyBatis提供了一种便捷的代码生成工具——MyBatis Generator(MBG),它可以自动生成MyBatis相关的Mapper接口、Mapper XML文件、实体类以及Service接口和实现类等代码,极大地减少...