您的位置:首页 > 其它

MyBatis Generator generatorConfig.xml配置详解

2017-02-17 18:40 495 查看
摘要: Unexpected error while running MyBatis Generator. Exception getting JDBC Driver

Exception getting JDBC Driver

一,问题描述

在Eclipse中使用Mybatis的自动生成对象的工具去生成Java对象时,选中配置文件,右键生成时出现"Unexpected error while running MyBatis Generator. Exception getting JDBC Driver"

二,解决方案

这种情况下,排除自己没有添加对应数据库驱动的依赖的情况下,就是ClassPath中没有把相关驱动的jar包引入进来,此时只需要再配置文件中加入如下配置即可
<classPathEntry location="D:/MyRepository/com/yunrich/jdbc/ojdbc14/10.2.0.4.0/ojdbc14-10.2.0.4.0.jar" />
location属性的值替换为你的本地驱动包所在位置
咦,忘了说明,这个配置是<generatorConfiguration>的子元素哦!!

所有Generator的xml详细说明见:http://mybatis.org/generator/configreference/xmlconfig.html (英文版)

现在针对generatorConfig.xml配置进行解说,至于其内部元素的详解见英文文档,贴上xml,里面都有注释,大家一看就明白了:

[html] view
plain copy

<?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>

<!-- 引入配置文件 -->

<properties resource="init.properties"/>

<!-- 指定数据连接驱动jar地址 -->

<classPathEntry location="${classPath}" />

<!-- 一个数据库一个context -->

<context id="infoGuardian">

<!-- 注释 -->

<commentGenerator >

<property name="suppressAllComments" value="false"/><!-- 是否取消注释 -->

<property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳-->

</commentGenerator>

<!-- jdbc连接 -->

<jdbcConnection driverClass="${jdbc_driver}"

connectionURL="${jdbc_url}" userId="${jdbc_user}"

password="${jdbc_password}" />

<!-- 类型转换 -->

<javaTypeResolver>

<!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->

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

</javaTypeResolver>

<!-- 生成实体类地址 -->

<javaModelGenerator targetPackage="com.oop.eksp.user.model"

targetProject="${project}" >

<!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->

<property name="enableSubPackages" value="false"/>

<!-- 是否针对string类型的字段在set的时候进行trim调用 -->

<property name="trimStrings" value="true"/>

</javaModelGenerator>

<!-- 生成mapxml文件 -->

<sqlMapGenerator targetPackage="com.oop.eksp.user.data"

targetProject="${project}" >

<!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->

<property name="enableSubPackages" value="false" />

</sqlMapGenerator>

<!-- 生成mapxml对应client,也就是接口dao -->

<javaClientGenerator targetPackage="com.oop.eksp.user.data"

targetProject="${project}" type="XMLMAPPER" >

<!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->

<property name="enableSubPackages" value="false" />

</javaClientGenerator>

<!-- 配置表信息 -->

<table schema="${jdbc_user}" tableName="s_user"

domainObjectName="UserEntity" enableCountByExample="false"

enableDeleteByExample="false" enableSelectByExample="false"

enableUpdateByExample="false">

<!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample

是否生成 example类 -->

<!-- 忽略列,不生成bean 字段 -->

<ignoreColumn column="FRED" />

<!-- 指定列的java数据类型 -->

<columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />

</table>

</context>

</generatorConfiguration>

附带上我的init.properties

[html] view
plain copy

#Mybatis Generator configuration

project = EKSP

classPath=E:/workplace/EKSP/WebContent/WEB-INF/lib/ojdbc14.jar

jdbc_driver = oracle.jdbc.driver.OracleDriver

jdbc_url=jdbc:oracle:thin:@127.0.0.1:1521:orcl

jdbc_user=INFOGUARDIAN

jdbc_password=info_idap132

以上是xml的配置基本情况,大家如果有什么疑问或者建议,敬请评论!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: