91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

weed3-3.2.Xml sql的指令和語法有哪些

發布時間:2021-06-24 14:34:27 來源:億速云 閱讀:144 作者:chen 欄目:大數據

這篇文章主要講解了“weed3-3.2.Xml sql的指令和語法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“weed3-3.2.Xml sql的指令和語法有哪些”吧!

Weed3 一個微型ORM框架(只有0.1Mb哦)

源碼:https://github.com/noear/weed3 源碼:https://gitee.com/noear/weed3

五個指令 + 三種變量形式。先來段xml

這個示例里把各種情況應該呈現出來了

<?xml version="1.0" encoding="utf-8" ?>
<mapper namespace="weed3demo.xmlsql2" :db="testdb">
    <sql id="user_add1" :return="long"
         :param="m:weed3demo.mapper.UserModel,sex:int"
         :note="添加用戶">
        INSERT user(user_id,mobile,sex) VALUES(@{m.user_id},@{m.mobile},@{sex})
    </sql>

    <sql id="user_add2" :return="long" :note="添加用戶">
        INSERT user(user_id) VALUES(@{user_id:int})
    </sql>

    <sql id="user_add_for" :return="long" :note="批量添加用戶3">
        INSERT user(id,mobile,sex) VALUES
        <for var="m:weed3demo.mapper.UserModel" items="list">
            (@{m.user_id},@{m.mobile},@{m.sex})
        </for>
    </sql>

    <sql id="user_del" :note="刪除一個用戶">
        DELETE FROM user WHERE id=@{m.user_id:long}
        <if test="sex > 0">
            AND sex=@{sex:int}
        </if>
    </sql>

    <sql id="user_set"
         :note="更新一個用戶,并清理相關相存"
         :caching="localCache"
         :cacheClear="user_${user_id},user_1">
        UPDATE user SET mobile=@{mobile:String},sex=@{sex:int}
        <if test="icon != null">
            icon=@{icon:String}
        </if>
    </sql>

    <sql id="user_get_list"
         :note="獲取一批符合條件的用戶"
         :declare="foList:int,user_id:long"
         :return="List[weed3demo.mapper.UserModel]"
         :caching="localCache"
         :cacheTag="user_${user_id},user_1">
        SELECT id,${cols:String} FROM user
        <trim prefix="WHERE" trimStart="AND ">
            <if test="mobile?!">
                AND mobile LIKE '${mobile:String}%'
            </if>
            <if test="foList == 0">
                AND type='article'
            </if>
            <if test="foList == 1">
                AND type='post'
            </if>
        </trim>
    </sql>

    <sql id="user_cols1">name,title,style,label</sql>
    <sql id="user_cols2">name,title</sql>

    <sql id="user_get_list2"
         :note="獲取一批符合條件的用戶"
         :declare="foList:int,user_id:long"
         :return="List[weed3demo.mapper.UserModel]"
         :caching="localCache"
         :cacheTag="user_${user_id},user_1">
        SELECT id,
        <if test="foList == 0">
            <ref sql="user_cols1"/>
        </if>
        <if test="foList == 1">
            <ref sql="user_cols2"/>
        </if>
        FROM user WHERE sex>1 AND mobile LIKE '@{mobile:String}%'

    </sql>
</mapper>
四個指令說明
sql 代碼塊定義指令
  :require(屬性:導入包或類)
  :param?(屬性:外部輸入變量申明;默認會自動生成::新增***)
  :declare(屬性:內部變量類型預申明)
  :return(屬性:返回類型)

  :db (屬性:數據庫上下文name)
  :note(屬性:描述、說明、注解)

  :caching(屬性:緩存服務name) //是對 ICacheController 接口的映射
  :cacheClear?(屬性:清除緩存)
  :cacheTag?(屬性:緩存標簽,支持在入參或結果里取值替換)
  :usingCache?(屬性:緩存時間,int)

if 判斷控制指令(沒有else)
  test (屬性:判斷檢測代碼)
     //xml避免語法增強:
     //lt(<) lte(<=) gt(>) gte(>=) and(&&) or(||)
        //例:m.sex gt 12 :: m.sex >=12
     //簡化語法增強:
     //??(非null,var!=null) ?!(非空字符串,StringUtils.isEmpty(var)==false)
        //例:m.icon??  ::m.icon!=null
        //例:m.icon?!  ::StringUtils.isEmpty(m.icon)==false

for 循環控制指令 (通過 ${var}_index 可獲得序號,例:m_index::新增***)
  var (屬性:循環變量申明)
  items (屬性:集合變量名稱)
  sep? (屬性:分隔符::新增***)

trim 修剪指令
  trimStart(屬性:開始位去除)
  trimEnd(屬性:結尾位去除)
  prefix(屬性:添加前綴)
  suffix(屬性:添加后綴)

ref 引用代碼塊指令
  sql (屬性:代碼塊id)
三種變量形式
name:type    = 變量申明(僅用于var ,或:declare)
@{name:type} = 變量注入(僅用于代碼塊)
${name:type} = 變量替換(用于代碼塊,或:cacheTag,或:cacheClear)
關于返回值的幾種形式說明
//多行,列表(用[]替代<>)
:return="List[weed3demo.mapper.UserModel]" //將返回 List<UserModel>
:return="List[String]" //將返回 List<String> (Date,Long,...大寫開頭的單值類型)
:return="MapList" //將返回 List<Map<String,Object>>
:return="DataList" //將返回 DataList

//一行
:return="weed3demo.mapper.UserModel" //將返回 UserModel
:return="Map" //將返回 Map<String,Object>
:return="DataItem" //將返回 DataItem

//單值
:return="String" //將返回 String (或別的任何單職類型)

感謝各位的閱讀,以上就是“weed3-3.2.Xml sql的指令和語法有哪些”的內容了,經過本文的學習后,相信大家對weed3-3.2.Xml sql的指令和語法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西昌市| 中方县| 崇左市| 克拉玛依市| 马公市| 敦煌市| 潮州市| 玉屏| 望江县| 柏乡县| 仙桃市| 油尖旺区| 鄂州市| 沙雅县| 安吉县| 开封市| 天柱县| 水富县| 都兰县| 新蔡县| 靖远县| 星子县| 淳安县| 安阳市| 临邑县| 大连市| 南汇区| 西吉县| 茶陵县| 昔阳县| 尼勒克县| 呼图壁县| 荣昌县| 寻乌县| 博客| 随州市| 太仆寺旗| 东丰县| 新化县| 岢岚县| 远安县|