好長時間沒有寫博客了,最近公司要用java語言,開始學習java,屬於初學者,今天主要記錄一下mybatis generator自動生成代碼,首先在如下圖的目錄中新建兩個文件,如下圖
generatorConfig.xml and jdbc.properties都要放在resource根目錄下
具體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>
-
<properties resource= "jdbc.properties"></properties>
-
<classPathEntry location= "${dbconfig.sqlServer.driverLocation}" />
-
-
<context targetRuntime= "MyBatis3">
-
-
<!--<commentGenerator>
-
<!– 去除自動生成的注釋 –>
-
<property name= "suppressAllComments" value="true" />
-
</commentGenerator>-->
-
<!-- 是否生成注釋 去除自動生成的注釋-->
-
<commentGenerator>
-
<property name= "suppressDate" value="true"/>
-
-
<property name= "suppressAllComments" value="true"/>
-
</commentGenerator>
-
<!-- 數據庫連接配置 -->
-
<jdbcConnection driverClass= "${dbconfig.sqlServer.driverClasss}"
-
connectionURL= "${dbconfig.sqlServer.ssmDemo.read.jdbcUrl}"
-
userId= "${dbconfig.sqlServer.username}"
-
password= "${dbconfig.sqlServer.password}" />
-
-
<!-- 非必需,類型處理器,在數據庫類型和java類型之間的轉換控制-->
-
<javaTypeResolver>
-
<property name= "forceBigDecimals" value="false"/>
-
</javaTypeResolver>
-
-
<!--配置生成的實體包
-
targetPackage:生成的實體包位置,默認存放在src目錄下
-
targetProject:目標工程名
-
-->
-
<javaModelGenerator targetPackage= "com.pojo"
-
targetProject= "src/main/java" />
-
-
<!-- 實體包對應映射文件位置及名稱,默認存放在src目錄下 -->
-
<sqlMapGenerator targetPackage= "mapping" targetProject="src/main/resources" />
-
<!--生成Dao類存放位置-->
-
<javaClientGenerator type= "XMLMAPPER" targetPackage="com.dao" targetProject="src/main/java">
-
<property name= "enableSubPackages" value="true"/>
-
</javaClientGenerator>
-
<!--生成對應表及類名-->
-
<!-- 配置表
-
schema:不用填寫
-
tableName: 表名
-
enableCountByExample、enableSelectByExample、enableDeleteByExample、enableUpdateByExample、selectByExampleQueryId:
-
去除自動生成的例子
-
-->
-
<table schema= "" tableName="UzaiSupplierStore" domainObjectName="UzaiSupplierStore" enableCountByExample="false" enableSelectByExample="false"
-
enableDeleteByExample= "false" enableUpdateByExample="false" selectByExampleQueryId="false" >
-
</table>
-
<table schema= "" tableName="UzaiCountry" enableCountByExample="false" enableSelectByExample="false"
-
enableDeleteByExample= "false" enableUpdateByExample="false" selectByExampleQueryId="false" >
-
</table>
-
-
</context>
-
</generatorConfiguration>
jdbc.properties內容如下
dbconfig.sqlServer.driverClasss=com.microsoft.sqlserver.jdbc.SQLServerDriver dbconfig.sqlServer.ssmDemo.read.jdbcUrl=jdbc:sqlserver://127.0.0.1;DatabaseName=Travel dbconfig.sqlServer.username=uzai_trip dbconfig.sqlServer.password=Flzx3qC!$ #定義初始連接數 dbconfig.initialSize=0 #定義最大連接數 dbconfig.maxActive=20 #定義最大空閑 dbconfig.maxIdle=20 #定義最小空閑 dbconfig.minIdle=1 #定義最長等待時間 dbconfig.maxWait=60000 dbconfig.sqlServer.driverLocation=C:/Users/zd69155/Documents/mssql-jdbc-6.3.0.jre7-preview.jar
C:/Users/zd69155/Documents/mssql-jdbc-6.3.0.jre7-preview.jar這個地址一定是在本地下載好這個jar包的地址
可以添加下面的dependency下載SQLjdbc jar包
<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.3.0.jre7-preview</version>
<scope>test</scope>
</dependency>
jdbc.properties的參數是對應generatorConfig.xml里面的,如下圖
然后就是需要配置pom.xml
以上配置完成以后,點run彈出如下界面
mybatis-generator:generate -e
如果碰到這樣的錯誤 “The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:972101e7-9ee5-4004-9abc-e0e932b921bd"
可以嘗試
mybatis-generator:generate -Djdk.tls.client.protocols=TLSv1.2
以上都配置以后點擊運行就可以生成了
目前發的生成的dao文件名字是Mapper,還有就是生成的數據庫類沒有中文注釋,大多數解決方案是mysql數據庫。關於sqlserver還在進一步了解中