生活随笔
收集整理的這篇文章主要介紹了
mybatis_高级
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、MyBatis的代碼生成器
步驟:
先創建一個idea的maven項目。省略在pom.xml中導入相應的jar包。
- 導入mybatis核心包以及jdbc驅動包、junit測試包和局部jdk配置
<dependencies><!--mybatis核心包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.1</version></dependency><!--jdbc驅動包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.46</version></dependency><!--junit測試包--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies>
<!-- 局部jdk配置,pom.xml中 --><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
- 導入代碼生成器插件。mybatis-generator插件
<build><plugins> <!--代碼生成器插件--><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><configuration><!--自定義代碼生成器的路徑--><!--<configurationFile>yourLocation/mybatis-generator-config.xml</configurationFile>--><verbose>true</verbose><overwrite>true</overwrite></configuration></plugin></plugins></build>
引入插件成功后查看:
4. 準備好配置文件。
- 項目結構圖
映射文件在resources資源文件中,并且還必須有層級關系,所以在創建包的時候要這樣輸入包名才會有層級關系。
cn/lyq/_02_generator/mapper- - ->項目中顯示就是 符號.,但是已經具有層級關系了
- 最重要的一步:在資源文件下創建一個xml文件,必須叫做generatorConfig.xml
拷貝后修改即可:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<!-- 自動生成器的配置(根目錄,不做過多介紹)-->
<generatorConfiguration><!--classPathEntry:可以配置多個,也不配置數據庫驅動:這里找到相應的驅動jar包就可以了(注:不同數據庫的jar不一樣)location:里面的是路徑(也可以直接寫絕對路徑 -> 如:E:\mybatis\mysql-connector-java-5.1.26-bin.jar)--><classPathEntry location="H:\mysql-connector-java-5.1.46.jar"/><!--context:用于生成一組對象的環境(至少配置1個,可以配置多個)id:表達唯一的名稱targetRuntime:用于指定生成的代碼的運行環境(MyBatis3/MyBatis3Simple)MyBatis3:默認值MyBatis3Simple:不會生成與Example(案例)相關的方法--><context id="DB2Tables" targetRuntime="MyBatis3Simple" ><!--用于配置如果生成注釋信息(最多可以配置一下)suppressAllComments:阻止生成注釋 ,默認為falsesuppressDate:阻止生成的注釋 時間戳,默認為falseaddRemarkComments:注釋是否添加數據庫表的備注信息,默認為false--><commentGenerator><property name="suppressDate" value="true"/><property name="suppressAllComments" value="true"/></commentGenerator><!--這個應該比較清楚,配置連接數據庫的基本信息--><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/mybatis"userId="root" password="123456"></jdbcConnection><!--用于指定JDBC類型和Java類型如何轉換,最多可以配置一個forceBigDecimals:控制是否強制將DECIMAL和NUMERIC類型的JDBC字段轉換成Java類型的 BigDecimal默認為false,一般不需要配置--><javaTypeResolver><property name="forceBigDecimals" value="false"/></javaTypeResolver><!--javaModelGenerator:用來控制生成的實體類targetPackage:生成Model類存放位置(包名) domain類targetProject:指定目標項目路徑(根目錄)對應的子屬性:trimStrings:判斷是否對數據庫查詢結果進行trim操作(默認false)--><javaModelGenerator targetPackage="cn.lyq._02_generator.domain" targetProject="src/main/java"><property name="trimStrings" value="true"/></javaModelGenerator><!--sqlMapGenerator:生成映射文件存放位置(Mapper.xml文件)targetPackage:生成SQL映射文件(XML文件)在哪個包中targetProject:指定目標項目路徑(根目錄)--><sqlMapGenerator targetPackage="cn.lyq._02_generator.mapper" targetProject="src/main/resources"></sqlMapGenerator><!--javaClientGenerator:Java客戶端生成器(生成Dao/Mapper的接口)該 標簽可選(最多配置一個),如果不配置,就不會生成Mapper接口type:選擇客戶端代碼生成器MyBatis3ANNOTATEDMAPPER:基于注解的Mapper接口,不會有對應的XML映射文件MIXEDMAPPER:XML和注解混合形式XMLMAPPER:所有方法都在XML中(接口調用依賴XML)MyBatis3SimpleANNOTATEDMAPPER:基于注解的Mapper接口,不會有對應的XML映射文件XMLMAPPER:所有方法都在XML中(接口調用依賴XML)targetPackage:生成Mapper接口存放的包名targetProject:指定目標項目路徑--><javaClientGenerator type="XMLMAPPER" targetPackage="cn.lyq._02_generator.mapper" targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!--table:生成對應表及類名tableName:對應表名(注:%代表所有)domainObjectName:對應的類名generatedKey:主鍵自增的id字段(針對當前 數據庫配置MySQL)--><table tableName="employee" domainObjectName="Employee"><generatedKey column="id" sqlStatement="MySql" /></table></context></generatorConfiguration>
最后雙擊
二、mybatis的攔截器
除非要基于mybatis繼續做框架,否則沒有什么用,很難用得著。用的原因主要是分頁功能基于攔截器實現的。要用mybatis的分頁功能就必須要攔截器。
新建一個類,這個類必須要去實現攔截器接口Interceptor,并實現它的方法。
下載mybatis的maven分頁插件
下載地址
然后在pom.xml中引入下載的分頁jar包
<!-- 分頁插件 -->
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.0.0</version></dependency>
配置引入進來的分頁攔截器。
- 引入進來的jar包帶有分頁攔截器
- 在mybatis的核心xml配置文件中配置攔截器
- 測試:就一句代碼:
PageHelper.startPage(當前頁數,每頁條數);
總結
以上是生活随笔為你收集整理的mybatis_高级的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。