1. 程式人生 > >mybatis xml詳解及示例

mybatis xml詳解及示例

說明:主要介紹mybatis   xml檔案的一般屬性。

<select id="findUserAll" parameterType="com.zpkj.space.model.query.UserQuery"  resultType="com.zpkj.space.model.User">
select * from user_t t WHERE '1'='1'
        <if test="name != null and name != ''">
AND t.name LIKE CONCAT('%',#{name},'%')
        </if>
<if test="adress != null and adress != ''"> AND t.adress = #{adress} </if> </select>
屬性介紹:

     id:在名稱空間的唯一標識,可以用來引用該語句。

     parameterType:將會傳入這條語句的引數型別(完全限定名或別名)。

     parameterMap:一般是直接在mapper.xml檔案中定義的對映

     resultMap:外部resultMap的命名引用,結果集的對映是mybatis最大的特性。

     resultType:返回期望型別類的完全限定名或別名。

個別sql介紹:

      左外連線介紹示例:

<select id="findUser" parameterType="com.zpkj.space.model.query.UserQuery"  resultType="com.zpkj.space.model.User">
SELECT a.* FROM user_t a
    LEFT JOIN test_t b ON b.user_id = a.id
    WHERE a.pid = '1'
</select>
     <foreach>標籤的運用:
<!--list裡面儲存的全部是id   如果List裡面是物件 ,物件.屬性-->
<select id="foreachTest" parameterType="java.util.List" resultType="com.zpkj.space.model.User"> select * from user_t where id in <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </select> 

     case then用法:

<select id="forCaseEnd"  resultType="com.zpkj.space.model.User">
SELECT sum( CASE WHEN sex = '1' THEN
                  1 ELSE 0 END) as boys,
                  sum( CASE WHEN sex = '2' THEN
                  1 ELSE 0 END) as grils
    FROM user_t a
</select>


簡單的增刪改查:

<!-- 新增 User -->
<insert id="addUser" parameterType="com.zpkj.space.model.from.UserFrom">
INSERT INTO user_t (
    id, name, adress
    )
    VALUES(
    #{id}, #{name}, #{adress}
    )
</insert>
<!-- 修改 User -->
<update id="updateUser" parameterType="com.zpkj.space.model.from.UserFrom">
UPDATE user_t
    <set>
        <if test="name != null and name != ''">
name = #{name},
        </if>
        <if test="adress != null and adress != ''">
adress = #{adress},
        </if>
    </set>
WHERE id = #{id}
</update>
<!-- 刪除一個 User -->
<delete id="deleteUser" parameterType="string">
DELETE FROM user_t WHERE id = #{id}
</delete>

相關推薦

mybatis xml示例

說明:主要介紹mybatis   xml檔案的一般屬性。 <select id="findUserAll" parameterType="com.zpkj.space.model.query.UserQuery" resultType="com.zpkj.spac

Android總結篇——Intent機制示例總結

ets mp3 pro domain 一般來說 ssa star wrap 無線 一.Intent介紹: Intent的中文意思是“意圖,意向”,在Android中提供了Intent機制來協助應用間的交互與通訊,Intent負責對應用中一次操作的動 作、動作涉及

JPA註解示例

文章出處:https://blog.csdn.net/zhengchao1991/article/details/70236919 1、用例項介紹JPA 使用JPA,肯定是有ORM的意思在裡面,當然我們首先要定義一個實體類(要將 Java 類指定為 JPA 實體,請使用 @Entity 批註

Java基礎:&與&&,|與| |的聯絡與區別(示例

&與&& 的聯絡與區別 一、&與&&的相同點   &與&& 都可作為 邏輯“與”的運算,即當運算子兩邊表示式結果都為True時,運算結果返回True;否則當某一表達式為False時,運算結果返回False 。

python學習之網站的編寫(HTML,CSS,JS)(三)----------input系列的標籤示例程式碼(可上傳到伺服器form標籤)

文章編排,我們首先來講一下input系列的各種內容,然後用一個示例程式碼來清晰的理解其中特定的含義 input系列: 1.輸入文字內容: <input type="text" name="user"/>起個名字易於在伺服器端進行處理 2.輸入密碼內容:

JS中Cookie示例展示

Cookie的作用 cookie機制將資訊儲存於使用者硬碟,因此可以作為全域性變數,這是它最大的一個優點。它可以用於以下幾種場合。 (1)儲存使用者登入狀態。例如將使用者id儲存於一個cookie內,這樣當用戶下次訪問該頁面時就不需要重新登入了,現在很多

JPA使用示例

1、用例項介紹JPA 使用JPA,肯定是有ORM的意思在裡面,當然我們首先要定義一個實體類(要將 Java 類指定為 JPA 實體,請使用 @Entity 批註): package com.creditcloud.lending.entities; import com.

Java排序演算法示例彙總——超詳細

氣泡排序、選擇排序、直接插入排序、二分法排序、希爾排序、快速排序、堆排序、歸併排序、基數排序,共9中排序演算法詳解和程式碼示例。示例中全部採用從小到大排序,編碼方式為本人理解的思路,演算法思想也是自己理解的口語表達方式,若想檢視更準確的演算法思想和程式碼示例可直接搜尋各演算法

1.Echarts餅狀圖示例

var myChart1 = echarts.init(document.getElementById('pie1')); option1 = { title:{ text:'按型別統計', top:'bottom',

C# sort 方法示例

諸如List<T>等泛型集合類,直接提供了sort()方法用於將集合中的元素進行排序。 但是,其前提是集合中存放的是可直接排序的基本型別,如List<int>, List<double>,如果 我們定義了一個自定義型別 Class MyClass,並建立一個自定義型別

Oracle建立表語句(Create table)語法示例

8. 較複雜的建立表例子SQL> CREATE TABLE s_emp(id NUMBER(7)CONSTRAINT s_emp_id_pk PRIMARY KEY,last_name VARCHAR2(25)CONSTRAINT s_emp_last_name_nn NOT NULL,first_na

Swift藍芽開發示例

藍芽使用 距離上次部落格更新已經過去了好幾個月 這段時間一直在忙公司專案的重構和整體UI重做 一直抽不出時間來對做的東西做一個歸納和整理 前幾天專案成功上線了 現在對這段時間專案重構中遇到的問題和使用的技術做一些簡單的整理 首先介紹專案中用的的佔比

JSP內建物件示例

JSP 內建物件 jsp一共有9個內建物件,這些物件由web容器創造並且適用於所有jsp頁面。 九大內建物件如列表所示: 物件 型別 out JspWriter類的例項 request HttpServletRequest介面的例項 response HttpServletRespons

MyBatis之Mapper常用技巧

mybatis mapperselect先看一個簡單的案例:<select id="selectPerson" parameterType="int" resultType="hashmap"> SELECT * FROM PERSON WHERE ID = #{id} </selec

window.open()瀏覽器兼容性問題示例探討

ati 一個 span 如何 用戶 兼容性問題 說明 aid ask 這篇文章主要介紹了window.open()的使用及瀏覽器兼容性問題方面的知識,感興趣的朋友可以參考下 一、基本語法: window.open(pageURL,name,parameters) 其中:

RPM打包原理、示例備查( 轉)

build line 6.4 介紹 很多 his 原理 動態鏈接 author   RPM(Redhat Package Manager)是用於Redhat、CentOS、Fedora等Linux 分發版(distribution)的常見的軟件包管理器。因為它允許分發已編譯

MyBatis 的一級快取實現使用注意事項

轉自:https://blog.csdn.net/chenyao1994/article/details/79233725 0.寫在前面 MyBatis是一個簡單,小巧但功能非常強大的ORM開源框架,它的功能強大也體現在它的快取機制上。MyBatis提供了一級快取、二級快取 這兩個快取機制,

《深入理解mybatis原理(三)》 MyBatis的一級快取實現 使用注意事項

0.寫在前面         MyBatis是一個簡單,小巧但功能非常強大的ORM開源框架,它的功能強大也體現在它的快取機制上。MyBatis提供了一級快取、二級快取 這兩個快取機制,能夠很好地處理和維護快取,以提高系統的效能。本文的目的則是向讀者詳細介紹MyBatis的一級快取,深入原始碼,解析MyBa

Hbase 過濾器一些程式碼測試示例

一、過濾器(Filter)     基礎API中的查詢操作在面對大量資料的時候是非常蒼白的,這裡Hbase提供了高階的查詢方法:Filter。Filter可以根據簇、列、版本等更多的條件來對資料進行過濾,基於Hbase本身提供的三維有序(主鍵有序、列有序、版本有序)

WebService核心檔案【server-config.wsdd】呼叫示例

作者:Vashon 時間:2015-04-21 一、準備工作 匯入需要的jar包:                                                                                 二、