mybatis无法使用oracle数据库生成器

mybatis cannot generator using oracle database

我有一个 generatorConfig.xml 这样的:

<generatorConfiguration>
    <classPathEntry location="D:\Workspace\springlt\src\main\resources\ojdbc6.jar" />

    <context id="MyBatis3" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="myurl" userId="username"
            password="password">
        </jdbcConnection>

        <javaModelGenerator targetPackage="vn.laptrinh.domain"
            targetProject="../java" />

        <sqlMapGenerator targetPackage="vn.laptrinh.dao.xml"
            targetProject="../java" />

        <javaClientGenerator type="XMLMAPPER"
            targetPackage="vn.laptrinh.dao" targetProject="../java" />

        <!-- <table tableName="users" domainObjectName="User"
            enableSelectByExample="false" enableDeleteByExample="false"
            enableCountByExample="false" enableUpdateByExample="false">
            <columnOverride column="id" javaType="Long" />
        </table> -->

        <table tableName="CARDUSER_MASTER" domainObjectName="CardUserMaster"
            schema="CACISISS" enableSelectByExample="false"
            enableDeleteByExample="false" enableCountByExample="false"
            enableUpdateByExample="false">
        </table>
    </context>
</generatorConfiguration>

以前,我使用 mysql 数据库,并将 mysql-connector-java-5.1.15-bin.jarmybatis-generator-core-1.3.1.jar 放在 ..\springlt\src\main\resources 文件夹中,然后使用命令行 run java -jar mybatis-generator-core-1.3.1.jar -configfile generatorConfig.xml -overwrite -tables users,项目将生成 domain, xml, xmlmapper

然而,当我将 mysql-connector-java-5.1.15-bin.jar 更改为 ojdbc6.jar(我使用的是 oracle 11g)时,我 运行 遇到了一堆错误:

D:\Workspace\springlt\src\main\resources>java -jar mybatis-generator-core-1.3.1.
jar -configfile generatorConfig.xml
Exception in thread "main" java.lang.RuntimeException: Exception getting JDBC Dr
iver
        at org.mybatis.generator.internal.db.ConnectionFactory.getDriver(Connect
ionFactory.java:85)
        at org.mybatis.generator.internal.db.ConnectionFactory.getConnection(Con
nectionFactory.java:54)
        at org.mybatis.generator.config.Context.getConnection(Context.java:498)
        at org.mybatis.generator.config.Context.introspectTables(Context.java:40
8)
        at org.mybatis.generator.api.MyBatisGenerator.generate(MyBatisGenerator.
java:221)
        at org.mybatis.generator.api.ShellRunner.main(ShellRunner.java:117)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at org.mybatis.generator.internal.ObjectFactory.externalClassForName(Obj
ectFactory.java:90)
        at org.mybatis.generator.internal.db.ConnectionFactory.getDriver(Connect
ionFactory.java:82)
        ... 5 more

我不知道问题出在哪里。我连接到位于服务器上的数据库。

任何解决方案将不胜感激。谢谢。

首先,请更改为:

<jdbcConnection driverClass="com.mysql.jdbc.Driver"
        connectionURL="myurl" userId="username"
        password="password">
    </jdbcConnection>

<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
        connectionURL="myurl" userId="username"
        password="password">
    </jdbcConnection>

看看它是否适合你

我已正确配置所有内容,并意识到此错误的原因也可能是插件无法找到 ojdbc jar。对我有用的是在我的生成器文件中添加 classPathEntry。

 <generatorConfiguration>    
  <classPathEntry location="/Users/adaprognotebook/lib/ojdbc6.jar"/>     
  <context id="system" >
    <plugin type="org.mybatis.generator.plugins.CaseInsensitiveLikePlugin" />
...