Mybatis 如何自动生成bean dao xml 配置文件 generatorconfig.xml

最近项目要用到mybatis中间件,中间涉及到要对表结构生成bean,dao,和sqlconfig.xml 所以记录一下学习过程

首先是准备工作,即准备需要的jar包:我们的数据库MySQL,所以驱动用的mysql-connector-5.1.8.jar 另外还需要 mybatis的jar包: mybatis-3.0.5-SNAPSHOT.jar

及自动生成的jar包:mybatis-generator-core-1.3.2.jar ....这些都可以到网上下载。。。

 

我首先是测试这个自动生成功能,所以没直接在项目里配置,而是先在 d盘测试了一下: 将三个jar包放入D:\test\lib下

其次是准备generatorconfig.xml ,将此文件直接放到D:\test 下。   generatorconfig.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="lib/mysql-connector-5.1.8.jar" />

<context id="MySqlTables" targetRuntime="MyBatis3">

<!--配置数据库链接-->

<jdbcConnection driverClass="com.mysql.jdbc.Driver" 
connectionURL="jdbc:mysql://localhost:3306/abcProject?characterEncoding=utf8" userId="root"
password="11112222"> 
</jdbcConnection>

<javaTypeResolver> 
<property name="forceBigDecimals" value="false" /> 
</javaTypeResolver> 
       


<!--配置实体bean-->

<javaModelGenerator targetPackage="xmlParer" 
targetProject="D:\test\xmlParer"> 
<property name="enableSubPackages" value="true" /> 
<property name="trimStrings" value="true" /> 
</javaModelGenerator> 

<!--配置实体map接口(dao)-->   
<sqlMapGenerator targetPackage="xmlParer" 
targetProject="D:\test\xmlParer"> 
<property name="enableSubPackages" value="true" /> 
</sqlMapGenerator> 
    
<!--配置实体bean的sql.xml-->   
<javaClientGenerator type="XMLMAPPER" 
targetPackage="xmlParer"
targetProject="D:\test\xmlParer">
 <property name="enableSubPackages" value="true" /> 
</javaClientGenerator>

<!--配置实体-->  

 <table tableName="abc_agency" domainObjectName="Agency">
 
</table> 
</context> 
</generatorConfiguration>

因为是简单的测试,所以我的bean和dao及xml 都放到了统一的目录下了。。。D:\test\xmlParer

最后 在cmd命令行 执行

将目录切换到 D:\test\lib 下

java -jar mybatis-generator-core-1.3.0.jar -configfile  D:\test\generatorconfig.xml -overwrite 

这样基本就ok了。。。后来还研究了一下 在java的main方法去执行。。。也ok

 


今天把上次main方法读取配置 自动生成bean,及map的代码复制过来 供大家参考

package net.xh.xuanzhicms.util;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;

public class AutoMybatis {
 /**
  * @param args
  */
 public static void main(String[] args) {
  List<String> warnings = new ArrayList<String>();
  boolean overwrite = true;
  File configFile = new File("src/generatorConfig.xml");
  ConfigurationParser cp = new ConfigurationParser(warnings);
  Configuration config;
  try {
   config = cp.parseConfiguration(configFile);

   DefaultShellCallback callback = new DefaultShellCallback(overwrite);
   MyBatisGenerator myBatisGenerator;
   try {
    myBatisGenerator = new MyBatisGenerator(config, callback,
      warnings);
    myBatisGenerator.generate(null);
   } catch (Exception e) {

    e.printStackTrace();
   }

  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (XMLParserException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值