设为首页 收藏本站
查看: 835|回复: 0

[经验分享] 使用Mybatis Generator包自动生成Mybatis相关内容

[复制链接]

尚未签到

发表于 2016-11-24 09:51:48 | 显示全部楼层 |阅读模式
1.环境  mybatits+oracle
准备工作:
ojdbc5.jar
mybatis-generator-core-1.3.1.jar
mybatis-3.1.0-SNAPSHOT.jar
2.新建一web工程
         src目录新建包com.sm.dao/model
         文件:generator.xml
<?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="E:\myspace\sm\WebContent\WEB-INF\lib\ojdbc5.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true" />
</commentGenerator>
<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:ORCL" userId="hr" password="123456">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<javaModelGenerator targetPackage="com.sm.model" targetProject="../src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="com.sm.model" targetProject="../src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.sm.dao" targetProject="../src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>

<table tableName="t_user" domainObjectName="User">  
</table>
<table tableName="t_rolemap" domainObjectName="Rolemap">  
</table>
<table tableName="t_role" domainObjectName="Role">  
</table>
<table tableName="t_extrafield" domainObjectName="Extrafield">  
</table>
<table tableName="regions" domainObjectName="Regions">  
</table>
<table tableName="manager" domainObjectName="Manager">  
</table>
<table tableName="locations" domainObjectName="Locations">  
</table>
<table tableName="job_history" domainObjectName="Job_history">  
</table>
<table tableName="jobs" domainObjectName="Jobs">  
</table>
<table tableName="employees" domainObjectName="Employees">  
</table>
<table tableName="departments" domainObjectName="Departments">  
</table>
<table tableName="countries" domainObjectName="Countries">  
</table>  
</context>
</generatorConfiguration>

  这里有必要把上面的xml 标签介绍一下
  * 其中classPathEntry 是引用的jdbc的类路径,这里将jdbc jar和generator的jar包放在一起了;(我在测试的时候使用相对路径出现了问题,后就使用绝对路径)
  * commentGenerator 是用来除去时间信息的,这在配合类似subversion的代码管理工具时使用很有效,因为可以减少没有必要的注释迁入;
  * jdbcConnection是指定的jdbc的连接信息;
  * javaTypeResolver式类型转换的信息,这里并没有用到;
  * javaModelGenerator是模型的生成信息,这里将指定这些Java model类的生成路径;
  * sqlMapGenerator是mybatis 的sqlMapper XML文件的生成信息,包括生成路径等;
  * javaClientGenerator是应用接口的生成信息;
  * table是用户指定的被生成相关信息的表,它必须在指定的jdbc连接中已经被建立。

MapperConfig.xml
<?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="oracle.jdbc.driver.OracleDriver" />  
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:ORCL" />  
<property name="username" value="hr" />  
<property name="password" value="123456" />  
</dataSource>  
</environment>  
</environments>  
<mappers>  
<mapper resource="com/sm/model/UserMapper.xml" />  
<mapper resource="com/sm/model/ManagerMapper.xml" />  
</mappers>  
</configuration>

2.导入如上3个java包;
3.运行mybatis-generator  最简单的就是命令行的方式,只需要指定相应的配置文件的路径即可:
java -jar mybatis-generator-core-1.3.0.jar -configfile ../src/main/resource/config.xml -overwrite  

        下面是我的代码(同样使用相对路径报错)
E:\myspace\sm\src>java -jar  E:\myspace\sm\WebContent\WEB-INF\lib\mybatis-generator-core-1.3.1.jar  -configfile generator.xml -overwrite
4 验证代码,新建一个Test.java 如代如下

package com.sm.test;
/**
* @author rabbit <hackpor@hp009.com>
* @version
* @since Ver 1.1
* @Date Feb 8, 2012 10:05:26 AM
*/
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();
UserExample user = new UserExample();
user.or().andAccountIsNotNull();
ManagerExample managerExa = new ManagerExample();
managerExa.or().andAgeIsNotNull();
try {
UserMapper uMapper = sqlSession.getMapper(UserMapper.class);
List<User> allRecords = uMapper.selectByExample(user);
for (User s : allRecords) {
System.out.println(s.getAccount() + "," + s.getPassword() + ","
+ s.getStatus() + "," + s.getRegtime());
}

ManagerMapper mMapper = sqlSession.getMapper(ManagerMapper.class);
List<Manager> managerRec = mMapper.selectByExample(managerExa);
for (Manager s : managerRec) {
System.out.println(s.getUserid().toString() + ","
+ s.getUsername() + "," + s.getAge());
}
} finally {
sqlSession.close();
}
}
}

5.结果如下
scott,123456,1,Fri Jun 17 00:00:00 CST 2011
tomcat,123456,null,Fri Jun 17 00:00:00 CST 2011
java,java,null,Fri Jun 17 00:00:00 CST 2011
11,hackpro,28
1450,aaa,11
1551,ccc,22
1550,bb,11
1,admin,20
2,tomcat,19
16,javaeye,10
明天研究springMVC和mybatis集成

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-304834-1-1.html 上篇帖子: Mybatis中resultMap 下篇帖子: mybatis的配置config文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表