1. 程式人生 > >Mybatis的動態拼接條件

Mybatis的動態拼接條件

官網的例子永遠是最好的,切記切記!!
拼接條件

    <sql id="select_asset_where">
        <if test="accountType != null and accountType.size != 0" >
            and 
            <foreach collection="accountType" item="param" separator="OR" open="(" close=")">
                a.account_type = #{param}
            </foreach>
        </if
> </sql>

條件查詢

<select id="selectAssetByCondition"
                parameterType="com.zemcho.controller.asset.dto.AssetConditionDto"   resultMap="AssetCondtitionResultMap">
        SELECT reg_code, asset_name, asset_type, metering_units, use_info, 
                expect_end_date, regist_man, regist_date, account_type, fee_item, 
                finance_bill_date, user, user_account, keeper, checker, 
                buyer, school_addr, account_book, acquire_way, asset_use_way, 
                write_off_date, asset_status_1, store_place, orginal_value, net_value, 
                number_value
        FROM tb_asset_regist_d a
        <if
test="assetDepInfo != null" >
, cfg_asset_dep_info b </if> <if test="assetTypeInfo != null" > , cfg_asset_type_info c </if> <where> <include refid="select_asset_where"></include> </where
>
</select>

批量插入

 <!-- 批量插入 -->
    <!-- 批量插入生成的兌換碼 -->
    <insert id ="insertBulk" parameterType="java.util.List" >
        <selectKey resultType ="java.lang.Integer" keyProperty= "id"
                order= "AFTER">
            SELECT LAST_INSERT_ID()
        </selectKey >
        insert into `tb_basic_treatment_d`
        (<include refid="Base_Column_List" />,LOAD_TIME)
        values
        <foreach collection ="list" item="item" index= "index" separator =",">
            (
            #{item.name},
            #{item.teacherNumber},
            #{item.idNumber},
            #{item.year},
            #{item.annualWageIncomeYuan},
            #{item.fiveInsuranceAGold},
            #{item.loadTime}
            )
        </foreach >
    </insert >

普通查詢

 <select id="selectByReaderNum" parameterType="string" resultMap="BaseResultMap">
    select 
    <include refid="Base_Column_List" />
    from tb_library_borrower_d
    where reader_id = #{num,jdbcType=VARCHAR} limit 1
  </select>

相關推薦

Mybatis動態拼接條件

官網的例子永遠是最好的,切記切記!! 拼接條件 <sql id="select_asset_where"> <if test="accountType !=

怎麼使用mybatis 動態where 條件

怎麼使用mybatis 動態where 條件 相信很多人都知道 mybatis 動態where條件 是怎麼寫的 ,只需要這樣 <where> <if > and id = #{id} </if> </w

linq to sql 動態拼接條件

遇到了一個比較特殊的查詢(表沒有設計好,也就是加一個欄位能解決了),才發現了linq to sql 還可以這樣的去動態的拼接where條件,不然也不會這樣寫,這裡記錄一下,程式碼如下: from

Mybatis動態SQL 條件查詢,批量刪除

比如說某寶的搜尋。可以新增選擇的嘛。也就是where 後面的條件。如果有12種條件。要是全一個一個寫那是要寫很多哦。mybatis就有動態sql。根據條件組合sql語句。 首先建立個前端頁面 <!DOCTYPE html> <html&

mybatis 動態拼接mysql語句

問題描述 當傳入的引數存在空時,在生成的mysql語句中,應該不存在,此時需要動態拼接mysql語句。 拼接方法 mybatis 的 trim 標籤 下面是修改語句的拼接: ... <update id="updateUser" parame

Mybatis動態拼接SQL

MyBatis中用於實現動態SQL的元素主要有: ifchoose(when,otherwise)trimwheresetforeachif就是簡單的條件判斷,利用if語句我們可以實現某些簡單的條件選擇。先來看如下一個例子:        XML程式碼事例 <sele

Spring Data JPA 動態拼接條件的通用設計模式

記住官方文件永遠是首選 import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; import javax.persistence.criteria.Crit

mybatis動態查詢條件

1. 需求:動態傳遞表名,列名以及條件,然後根據傳遞的資料返回資料 2.專案結構:   3. 實現: 3.1. 加入配置檔案mybatis-config.xml以及CommonMapper.xml CommonMapper.xml: <?xml version="1

Mybatis動態sql條件查詢中if判斷Integer的條件寫法

在使用SSM的過程中,前臺序列化表單得到json物件並使用ajax傳到後臺中: var data = $("#selectInspect").serialize(); $.getJSON("selectInspectPlan.do?t="+new Date().getTim

4.mybatis動態SQL拼接/取值/OGNL

align log 值方法 enter png 動態 mybatis框架 -a ognl 4.mybatis動態SQL拼接/取值 一、mybatis框架的SQL拼接是采用OGNL表達式進行的,以下我會列出常用的取值方法。 圖片來源:慕課網 1.1常用的取值方法: 1.2特

spring-data-jpa動態拼接sql語句實現動態的多表條件查詢

** spring-data-jpa 動態拼接sql語句 ** spring-data-jpa對於簡單的資料操作確實使用起來比較方便,但是對於一些比較複雜的動態的多表條件查詢就不是那麼簡單了,對於需要些sql語句並且需要動態的新增條件的時候就得使用jpa的EntityManager來

Mybatis動態sql拼接問題

bsp 判斷語句 集合類 空串 username tostring -- 現在 1.3 背景:使用Mybatis的最近半年,經常發現一些小坑,現在總結回顧下,記個小本本,不讓它再來欺負我! if判斷語句 一、註意??事項 1、不支持 && , 用 and

使用mybatis提供的各種標籤方法實現動態拼接Sql。這裡演示where標籤和if標籤實現使用姓名的模糊查詢和性別查詢使用者列表,當用戶沒有選擇姓名以及性別時查詢出所有的記錄。

1.需求:   使用姓名的模糊查詢和性別查詢使用者列表,當用戶沒有選擇姓名以及性別時查詢出所有的記錄。 2.在UserMapper介面中定義方法:   public List<User> findUserByNameAndSex(User user); 3.在UserMapper.xml中

使用mybatis提供的各種標籤方法實現動態拼接Sql。使用sql片段提取重複的標籤內容

Sql中可將重複的sql提取出來,使用時用include引用即可,最終達到sql重用的目的,如下: <select id="findUserByNameAndSex" parameterType="com.huida.po.User" resultType="com.huida.po.Us

mybatis的多條件查詢案例(動態sql)

近日做系統,由於選擇了mybatis作為後端的ORM,所以在糾結到底用註解annotation的方式好呢,還是使用xml配置的方式。 為此,查詢了很多資料。感覺大部分都在推薦xml配置方式,並且我是誠心的去用annotation的,畢竟想順應時代嘛,結果死活就是找不到。 最

mybatis if test 相等的情況如何動態拼接sql

今天程式需要根據前臺的傳過來的狀態判斷在資料庫裡是取 where a>b  還是 a<b 還是 a=0 的情況  搞了一下午最後試了下 在if 裡面拼接  #{status}=#{status}  一切ok了  詳細程式碼如下   

mybatis動態傳入表名,欄位名,查詢條件進行查詢

mybatis動態傳入表名,欄位名,查詢條件進行查詢 菜鳥一枚,不足之處請多多指出 BaseMapper.xml // BaseMapper.xml <select id="findByFiled" resultType="java.util.Map" statementT

MyBatis中的條件查詢(動態sql)

  本文將介紹在MyBatis中,與dao對應的sql對映檔案的書寫,用動態sql實現對滿足條件的使用者集合的查詢。   首先,建立一個實體類User; package com.xyfer.pojo; public class User{ private String name;

mybatis 動態sql語句實現多條件查詢(foreach的使用)

一、前言 現有一個需求:實現多條件、不確定條件的搜尋功能。 類似於淘寶網進行搜尋商品的時候,可以在搜尋框進行模糊搜尋,同時可以進行條件篩選,例如想買一隻 口紅? 的時候,可以在搜尋框內輸入“口紅”,還可以選擇品牌、是否包郵、價格區間等等。。最後搜尋出來的結果是滿足所有篩選的

mybatis動態條件查詢和翻頁查詢的例子

繼續測試動態查詢的語句和翻頁查詢語句。 Test3.java原始碼: package domain;          import java.io.IOException;   import java.io.Reader;   import java.util.H