前言
最近開始學習mybatis,發現比起hibernate,mybatis在業務上用起來確實靈活不少,由於公司的orm框架是本身封裝hibernate來作的,有時須要實現聯表查詢或者稍微複雜點的業務就顯得很吃力,mybatis在這方面就顯得比較有優點,很接近原生操做,畢竟是手寫sql,而且mybatis有一個很實用的自動生成代碼工具,那就是mybatis generator逆向工程,下面我來爲你們介紹經過springboot中結合mybatis generator的方式來自動生成代碼文件。java
正文
首先用idea新建一個springboot項目,或者http://start.spring.io/ 上初始化一個項目下來,而後在pom.xml文件中加入generator插件配置以及相應的依賴。mysql
<dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.28</version> <scope>runtime</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- mybatis generator 自動生成代碼插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <configuration> <!--configurationFile對應着generator配置文件的路徑--> <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> </plugin> </plugins> </build>
配置完pom.xml後,須要在/src/main/resource下新建一個文件夾genarator,而且建立generatorConfig.xml文件,文件裏面配置着關於對應的數據庫以及包名信息等。web
<?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> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="true"/> <!-- 是否去除自動生成的註釋 true:是 : false:否 --> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--數據庫連接URL,用戶名、密碼 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/sell" userId="root" password=""> </jdbcConnection> <javaTypeResolver> <!-- 是否使用bigDecimal, false可自動轉化如下類型(Long, Integer, Short, etc.) --> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- 生成實體類的包名和位置 ,targetPackage指的是包名,targetProject值得是路徑位置--> <javaModelGenerator targetPackage="com.example.demo.model" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- 生成映射文件的包名和位置--> <sqlMapGenerator targetPackage="com.example.demo.mapper" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!-- 生成DAO的包名和位置--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.dao" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- 要生成的表 tableName是數據庫中的表名或視圖名 domainObjectName是實體類名--> <table tableName="seller_info" domainObjectName="SellerInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> </context> </generatorConfiguration>
配置的做用說明在註釋中已經寫得很清楚,到這裏咱們的配置就基本完成了,是否是很簡單啊,接着就能夠經過運行mvn mybatis-generator:generate的命令來看看是否會生成代碼了,由於本人用的是編輯器是idea,因此直接在右邊的maven工具欄雙擊就能夠了spring
接下來,就是見證奇蹟的時刻,噹噹噹當..........................................sql
額。。。。。。。。。居然失敗了,看了一下報錯信息,顯示的報錯信息是 generate failed: Exception getting JDBC Driver: com.mysql.jdbc.Driver,上網查了一下,發現原來是generator這個插件在運行的時候找不到com.mysql.jdbc.Driver的依賴,因此,我靈機一動(哈哈,實際上是借鑑網上的大神們的指揮啦),把pom文件中的這個依賴移到generator中去。數據庫
從新reimport後再執行一次,居然成功了,而且也在對應的包下面發現了自動生成的代碼文件,至此,大功告成~springboot
本文分享 CSDN - 鄙人薛某。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。mybatis