<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      jooq簡(jiǎn)單使用

      • DSLContext首先簡(jiǎn)單的配置文件

      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <configuration xmlns="http://www.jooq.org/xsd/jooq-codegen-3.14.0.xsd">
          <!-- mysql8 連接-->
          <jdbc>
              <driver>com.mysql.jdbc.Driver</driver>
              <url>jdbc:mysql://localhost:3306/test?useSSL=false&amp;serverTimezone=UTC&amp;allowPublicKeyRetrieval=true</url>
              <user>用戶(hù)名</user>
              <password>密碼</password>
          </jdbc>
          <generator>
              <!-- 代碼生成器 -->
              <name>org.jooq.codegen.JavaGenerator</name>
      <!--        <name>com.sun.utils.CustomJavaGenerator</name>-->
              <database>
                  <!--include用于控制數(shù)據(jù)庫(kù)中哪些表生成-->
                  <includes>people|year_date</includes>
                  <!--exclude用于控制數(shù)據(jù)庫(kù)中哪些表不生成-->
                  <!--<excludes></excludes>-->
                  <!--數(shù)據(jù)庫(kù)名稱(chēng)-->
                  <inputSchema>test</inputSchema>
                  <logSlowQueriesAfterSeconds>50</logSlowQueriesAfterSeconds>
              </database>
              <generate>
                  <interfaces>true</interfaces>
                  <!--是否生成dao和pojo-->
                  <daos>true</daos>
                  <pojos>true</pojos>
                  <!--是否把數(shù)據(jù)庫(kù)時(shí)間類(lèi)型映射到j(luò)ava 8時(shí)間類(lèi)型-->
                  <javaTimeTypes>true</javaTimeTypes>
                  <!--<interfaces>true</interfaces>-->
                  <!--不在生成的代碼中添加spring注釋?zhuān)热鏎Repository-->
                  <springAnnotations>false</springAnnotations>
              </generate>
              <!--生成代碼文件的包名及放置目錄-->
              <target>
                  <packageName>com.test.jooq</packageName>
                  <directory>/src/main/java</directory>
              </target>
          </generator>
      </configuration>

      找到一篇jooq多數(shù)據(jù)源配置的文章 七、jOOQ 系列教程 - 多數(shù)據(jù)源處理 - 知乎 (zhihu.com)

      配置文件主要是為了自動(dòng)生成pojo類(lèi)dao類(lèi) , 中間封裝了簡(jiǎn)單的操作方法

      • 生成包說(shuō)明

               jooq會(huì)根據(jù)指定的數(shù)據(jù)表生成代碼文件

        • daos
        •  封裝了很多增刪改查的方法,如果是簡(jiǎn)單的基本不用自己寫(xiě)
        • interface
        • 針對(duì)pojo對(duì)象的接口方法 
        • pojos
        • 和數(shù)據(jù)表一一對(duì)應(yīng)的pojo類(lèi),并重新了toString方法,提供了from封裝方法和into復(fù)制字段方法
        • records
        • 封裝數(shù)據(jù)庫(kù)表的對(duì)象,并提供了很多和字段有關(guān)的方法,主要是內(nèi)部進(jìn)行數(shù)據(jù)表操作的時(shí)候的對(duì)象都是用的這個(gè) 
        • DefaultCatalog
        • 默認(rèn)數(shù)據(jù)庫(kù)目錄 
        • Keys
        • 數(shù)據(jù)表的相關(guān)索引 
        • Tables
        • 數(shù)據(jù)表 
        • Test
        • 使用的數(shù)據(jù)庫(kù)對(duì)象,并內(nèi)部生成了對(duì)于的數(shù)據(jù)表 
        •  
      • 具體使用

      • 基礎(chǔ)增刪改查 

      dsl.insertInto(表).columns(字段1,字段2,字段3).values(值1,值2,值3).execute();
      dsl.delete(表).where(條件).execute();
      dsl.update(表).set(字段, 值).where(條件).execute();
      List<People> peopleList = dsl.select(字段).from(表).fetch().into(People.class);

      首先看一下基礎(chǔ)的增刪改查的操作是怎么寫(xiě)的

      總體結(jié)構(gòu)對(duì)比書(shū)寫(xiě)sql語(yǔ)句其實(shí)是一模一樣的,

      insert into 表 (列) values 值;

      delete from 表 where 條件;

      update 表 set 列=值 where 條件;

      select 字段 from 表 where 條件;

      書(shū)寫(xiě)的結(jié)構(gòu)完全一致 , 只是其中的關(guān)鍵字是使用方法調(diào)用出來(lái)的拼接而成,最后拼接執(zhí)行方法 , 獲取返回值.

      新增的時(shí)候略有不同的地方是 , 查詢(xún)之后要放入一個(gè)返回對(duì)象進(jìn)行保存 , 這個(gè)對(duì)象的類(lèi)型需要在語(yǔ)句中進(jìn)行指定.

      • 內(nèi)置對(duì)象、表和字段

      • DSLContext

      數(shù)據(jù)庫(kù)表操作類(lèi),不單單封裝了增刪改查方法,還有ddl操作,可以對(duì)數(shù)據(jù)庫(kù)表結(jié)構(gòu)進(jìn)行操作

      dsl.select();
      dsl.update();
      dsl.delete();
      dsl.insertInto();
      dsl.selectDistinct();
      dsl.batch();

       

       

      dsl.alterDatabase();
      dsl.alterDomain();
      dsl.alterIndex();
      dsl.alterSequence();
      dsl.alterTable();
      dsl.alterType();
      dsl.alterView();
      • Tables

      表和字段靜態(tài)類(lèi),可以獲取數(shù)據(jù)庫(kù)表的名稱(chēng)和全部/單個(gè)字段.這樣在書(shū)寫(xiě)的時(shí)候就不用寫(xiě)字符串了,全部可以從中提取使用

      Tables."表名"."字段"."sql的條件語(yǔ)句"
      Tables.PEOPLE.as();
      Tables.PEOPLE.NAME.as();
      Tables.PEOPLE.field();
      Tables.PEOPLE.NAME.eq();
      Tables.PEOPLE.NAME.ne();
      Tables.PEOPLE.NAME.isNull();
      • DSL

      操作數(shù)據(jù)的函數(shù)和靜態(tài)方法,對(duì)于一些需要聚合還有復(fù)雜函的操作,需要從DSL中尋找.

      DSL.abs();
      DSL.concat();
      DSL.ifnull();
      DSL.date();
      DSL.dayOfWeek();
      DSL.dayOfYear();

       

      說(shuō)的比較瑣碎 , 還是需要自己實(shí)踐一下 , 體會(huì)各處細(xì)節(jié)的操作技巧 , 使用起來(lái)還是非常像mybatis-plus的 

      國(guó)內(nèi)的教程非常的少 , 可以參考官網(wǎng)的文檔 The jOOQ User Manual.

      官方文檔說(shuō)的非常細(xì)致了.

       

      • 分析一下優(yōu)缺點(diǎn)

      • 優(yōu)點(diǎn)

      據(jù)說(shuō)大神分析了運(yùn)行速度高于其他ORM框架 , 具體自己并沒(méi)有進(jìn)行測(cè)試 

      能夠?qū)?shù)據(jù)庫(kù)表字段的名字提前初始化 , 方便每次使用的時(shí)候拼寫(xiě)錯(cuò)誤導(dǎo)致的低級(jí)錯(cuò)誤 , 而且在表結(jié)構(gòu)變更之后 , ide會(huì)直接提示那些地方的字段變了報(bào)錯(cuò) , 方便修改

      只需要了解Java(開(kāi)發(fā)語(yǔ)言)和sql就可以 , 不存在第三種需要學(xué)習(xí)的語(yǔ)音 , 降低一些學(xué)習(xí)成本 , 查查API基本就可以上手開(kāi)發(fā)了

       

      • 缺點(diǎn)

      最大的一個(gè)問(wèn)題是 , 沒(méi)有分頁(yè)組件 , 需要自己封裝 , 雖然官方提供一些提示... 這一點(diǎn)讓我非常詫異和費(fèi)解 , 這么完善的ORM框架居然不提供分頁(yè) 或者 分頁(yè)相關(guān)的組件(也有可能是我剛剛接觸 , 沒(méi)有找到 , 哪位大神如果有提示求留言告知)

      國(guó)內(nèi)流行度太低 , 如果真的遇上難解的問(wèn)題 , 恐怕不好找到解決方案(如果大神有類(lèi)似的地方求推薦)

      posted @ 2021-07-20 16:29  反轉(zhuǎn)蘋(píng)果派  閱讀(645)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 成人午夜在线观看刺激| 极品美女aⅴ在线观看| 亚洲精品久久久久国色天香| 人妻另类 专区 欧美 制服| 日韩亚洲精品国产第二页| 老少配老妇老熟女中文普通话| 闽清县| 国产偷拍自拍视频在线观看| 国产午夜精品福利视频| 精品无码成人片一区二区98| 久久婷婷成人综合色综合| av老司机亚洲精品天堂| 微拍福利一区二区三区| 玉山县| 精品国产乱码久久久久久浪潮| 国产成AV人片久青草影院| 躁躁躁日日躁| 日韩区中文字幕在线观看| 无码人妻aⅴ一区二区三区蜜桃 | 国产在线乱子伦一区二区| 久热这里有精品视频在线| 狂躁女人双腿流白色液体| 亚洲香蕉网久久综合影视| 日本伊人色综合网| 亚洲精品成人区在线观看| 光棍天堂在线手机播放免费| 日韩精品福利一区二区三区| 亚洲精品日本久久久中文字幕| 亚洲av免费成人在线| 欧洲无码一区二区三区在线观看| 老熟妇乱子交视频一区| 亚洲午夜成人精品电影在线观看| 久久精品国产99久久六动漫| 国产明星精品无码AV换脸| 国偷自产一区二区免费视频| 欧美激情一区二区| 福利无遮挡喷水高潮| 高潮迭起av乳颜射后入| 国产一区二区不卡91| 国内精品久久久久精免费| 国产日韩精品欧美一区灰|