日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

mybatis_高级

發(fā)布時(shí)間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis_高级 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、MyBatis的代碼生成器

步驟:

  • 先創(chuàng)建一個(gè)idea的maven項(xiàng)目。省略
  • 在pom.xml中導(dǎo)入相應(yīng)的jar包。
    • 導(dǎo)入mybatis核心包以及jdbc驅(qū)動(dòng)包、junit測(cè)試包和局部jdk配置
    <dependencies><!--mybatis核心包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.1</version></dependency><!--jdbc驅(qū)動(dòng)包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.46</version></dependency><!--junit測(cè)試包--><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>
    • 導(dǎo)入代碼生成器插件。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. 準(zhǔn)備好配置文件。

    • 項(xiàng)目結(jié)構(gòu)圖
      映射文件在resources資源文件中,并且還必須有層級(jí)關(guān)系,所以在創(chuàng)建包的時(shí)候要這樣輸入包名才會(huì)有層級(jí)關(guān)系。
      cn/lyq/_02_generator/mapper- - ->項(xiàng)目中顯示就是 符號(hào).,但是已經(jīng)具有層級(jí)關(guān)系了
    • 最重要的一步:在資源文件下創(chuàng)建一個(gè)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"> <!-- 自動(dòng)生成器的配置(根目錄,不做過(guò)多介紹)--> <generatorConfiguration><!--classPathEntry:可以配置多個(gè),也不配置數(shù)據(jù)庫(kù)驅(qū)動(dòng):這里找到相應(yīng)的驅(qū)動(dòng)jar包就可以了(注:不同數(shù)據(jù)庫(kù)的jar不一樣)location:里面的是路徑(也可以直接寫(xiě)絕對(duì)路徑 -> 如:E:\mybatis\mysql-connector-java-5.1.26-bin.jar)--><classPathEntry location="H:\mysql-connector-java-5.1.46.jar"/><!--context:用于生成一組對(duì)象的環(huán)境(至少配置1個(gè),可以配置多個(gè))id:表達(dá)唯一的名稱targetRuntime:用于指定生成的代碼的運(yùn)行環(huán)境(MyBatis3/MyBatis3Simple)MyBatis3:默認(rèn)值MyBatis3Simple:不會(huì)生成與Example(案例)相關(guān)的方法--><context id="DB2Tables" targetRuntime="MyBatis3Simple" ><!--用于配置如果生成注釋信息(最多可以配置一下)suppressAllComments:阻止生成注釋 ,默認(rèn)為falsesuppressDate:阻止生成的注釋 時(shí)間戳,默認(rèn)為falseaddRemarkComments:注釋是否添加數(shù)據(jù)庫(kù)表的備注信息,默認(rèn)為false--><commentGenerator><property name="suppressDate" value="true"/><property name="suppressAllComments" value="true"/></commentGenerator><!--這個(gè)應(yīng)該比較清楚,配置連接數(shù)據(jù)庫(kù)的基本信息--><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/mybatis"userId="root" password="123456"></jdbcConnection><!--用于指定JDBC類型和Java類型如何轉(zhuǎn)換,最多可以配置一個(gè)forceBigDecimals:控制是否強(qiáng)制將DECIMAL和NUMERIC類型的JDBC字段轉(zhuǎn)換成Java類型的 BigDecimal默認(rèn)為false,一般不需要配置--><javaTypeResolver><property name="forceBigDecimals" value="false"/></javaTypeResolver><!--javaModelGenerator:用來(lái)控制生成的實(shí)體類targetPackage:生成Model類存放位置(包名) domain類targetProject:指定目標(biāo)項(xiàng)目路徑(根目錄)對(duì)應(yīng)的子屬性:trimStrings:判斷是否對(duì)數(shù)據(jù)庫(kù)查詢結(jié)果進(jìn)行trim操作(默認(rèn)false)--><javaModelGenerator targetPackage="cn.lyq._02_generator.domain" targetProject="src/main/java"><property name="trimStrings" value="true"/></javaModelGenerator><!--sqlMapGenerator:生成映射文件存放位置(Mapper.xml文件)targetPackage:生成SQL映射文件(XML文件)在哪個(gè)包中targetProject:指定目標(biāo)項(xiàng)目路徑(根目錄)--><sqlMapGenerator targetPackage="cn.lyq._02_generator.mapper" targetProject="src/main/resources"></sqlMapGenerator><!--javaClientGenerator:Java客戶端生成器(生成Dao/Mapper的接口)該 標(biāo)簽可選(最多配置一個(gè)),如果不配置,就不會(huì)生成Mapper接口type:選擇客戶端代碼生成器MyBatis3ANNOTATEDMAPPER:基于注解的Mapper接口,不會(huì)有對(duì)應(yīng)的XML映射文件MIXEDMAPPER:XML和注解混合形式XMLMAPPER:所有方法都在XML中(接口調(diào)用依賴XML)MyBatis3SimpleANNOTATEDMAPPER:基于注解的Mapper接口,不會(huì)有對(duì)應(yīng)的XML映射文件XMLMAPPER:所有方法都在XML中(接口調(diào)用依賴XML)targetPackage:生成Mapper接口存放的包名targetProject:指定目標(biāo)項(xiàng)目路徑--><javaClientGenerator type="XMLMAPPER" targetPackage="cn.lyq._02_generator.mapper" targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!--table:生成對(duì)應(yīng)表及類名tableName:對(duì)應(yīng)表名(注:%代表所有)domainObjectName:對(duì)應(yīng)的類名generatedKey:主鍵自增的id字段(針對(duì)當(dāng)前 數(shù)據(jù)庫(kù)配置MySQL)--><table tableName="employee" domainObjectName="Employee"><generatedKey column="id" sqlStatement="MySql" /></table></context></generatorConfiguration>
  • 最后雙擊
  • 二、mybatis的攔截器

    除非要基于mybatis繼續(xù)做框架,否則沒(méi)有什么用,很難用得著。用的原因主要是分頁(yè)功能基于攔截器實(shí)現(xiàn)的。要用mybatis的分頁(yè)功能就必須要攔截器。

  • 新建一個(gè)類,這個(gè)類必須要去實(shí)現(xiàn)攔截器接口Interceptor,并實(shí)現(xiàn)它的方法。

  • 下載mybatis的maven分頁(yè)插件
    下載地址

  • 然后在pom.xml中引入下載的分頁(yè)jar包

  • <!-- 分頁(yè)插件 --> <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.0.0</version></dependency>
  • 配置引入進(jìn)來(lái)的分頁(yè)攔截器。
    • 引入進(jìn)來(lái)的jar包帶有分頁(yè)攔截器

    • 在mybatis的核心xml配置文件中配置攔截器
    • 測(cè)試:就一句代碼:
    PageHelper.startPage(當(dāng)前頁(yè)數(shù),每頁(yè)條數(shù));

    總結(jié)

    以上是生活随笔為你收集整理的mybatis_高级的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。