1. 程式人生 > >【記錄】mybatis中獲取常量類中資料

【記錄】mybatis中獲取常量類中資料

部分轉載,已註明來源:

1、mybatis中獲取常量類中資料

<update id="refuseDebt">

        UPDATE dt_debt a SET
        a.debt_status = ${@[email protected]_RETURNED},
        a.return_reason = #{reason},a.return_date=CURDATE()
        WHERE a.debtID =#{id}

    </update>

2、like的寫法

select * from debt_user.dt_areano where id like "${cityId}%" and county != "";

3、返回插入的主鍵:https://www.cnblogs.com/lvlv/p/5602716.html

<insert id="insert" parameterType="com.pojo.TSubject" useGeneratedKeys="true"  keyProperty="subjectid" > 
insert into t_subject ( parentid, subjectname, subjecttype, subjectitem, subjectanser, displaytype) values ( #{parentid,jdbcType=INTEGER}, #{subjectname,jdbcType=VARCHAR}, #{subjecttype,jdbcType
=VARCHAR}, #{subjectitem,jdbcType=VARCHAR}, #{subjectanser,jdbcType=VARCHAR}, #{displaytype,jdbcType=VARCHAR}) </insert>
useGeneratedKeys="true"  keyProperty="subjectid"
“subjectid”表主鍵
subjectService.insert(tSubject);
插入成功後:tSubject..getSubjectid() 就可以得到剛剛插入記錄主鍵id

4、引數集合:http://blog.csdn.net/small____fish/article/details/8029030

foreach的主要用在構建in條件中,它可以在SQL語句中進行迭代一個集合。foreach元素的屬性主要有item,index,collection,open,separator,close。item表示集合中每一個元素進行迭代時的別名,index指定一個名字,用於表示在迭代過程中,每次迭代到的位置,open表示該語句以什麼開始,separator表示在每次進行迭代之間以什麼符號作為分隔符,close表示以什麼結束,在使用foreach的時候最關鍵的也是最容易出錯的就是collection屬性,該屬性是必須指定的,但是在不同情況下,該屬性的值是不一樣的,主要有一下3種情況: 

  1. 如果傳入的是單引數且引數型別是一個List的時候,collection屬性值為list .
  2. 如果傳入的是單引數且引數型別是一個array陣列的時候,collection的屬性值為array .
  3. 如果傳入的引數是多個的時候,我們就需要把它們封裝成一個Map了,當然單引數也可以封裝成map,實際上如果你在傳入引數的時候,在MyBatis裡面也是會把它封裝成一個Map的,map的key就是引數名,所以這個時候collection屬性值就是傳入的List或array物件在自己封裝的map裡面的key.
下面我們通過程式碼實踐:資料表:採用Oracle的HR.Employees表        實體:Employees
public class Employees {
    private Integer employeeId;
    private String firstName;
    private String lastName;
    private String email;
    private String phoneNumber;
    private Date hireDate;
    private String jobId;
    private BigDecimal salary;
    private BigDecimal commissionPct;
    private Integer managerId;
    private Short departmentId;
}  
對映檔案:

    <!--List:forech中的collection屬性型別是List,collection的值必須是:list,item的值可以隨意,Dao介面中引數名字隨意 -->
    <select id="getEmployeesListParams" resultType="Employees">
        select *
        from EMPLOYEES e
        where e.EMPLOYEE_ID in
        <foreach collection="list" item="employeeId" index="index"
            open="(" close=")" separator=",">
            #{employeeId}
        </foreach>
    </select>

    <!--Array:forech中的collection屬性型別是array,collection的值必須是:list,item的值可以隨意,Dao介面中引數名字隨意 -->
    <select id="getEmployeesArrayParams" resultType="Employees">
        select *
        from EMPLOYEES e
        where e.EMPLOYEE_ID in
        <foreach collection="array" item="employeeId" index="index"
            open="(" close=")" separator=",">
            #{employeeId}
        </foreach>
    </select>

    <!--Map:不單單forech中的collection屬性是map.key,其它所有屬性都是map.key,比如下面的departmentId -->
    <select id="getEmployeesMapParams" resultType="Employees">
        select *
        from EMPLOYEES e
        <where>
            <if test="departmentId!=null and departmentId!=''">
                e.DEPARTMENT_ID=#{departmentId}
            </if>
            <if test="employeeIdsArray!=null and employeeIdsArray.length!=0">
                AND e.EMPLOYEE_ID in
                <foreach collection="employeeIdsArray" item="employeeId"
                    index="index" open="(" close=")" separator=",">
                    #{employeeId}
                </foreach>
            </if>
        </where>
    </select>

Mapper類:
public interface EmployeesMapper { 

    List<Employees> getEmployeesListParams(List<String> employeeIds);

    List<Employees> getEmployeesArrayParams(String[] employeeIds);

    List<Employees> getEmployeesMapParams(Map<String,Object> params);
}

相關推薦

記錄mybatis獲取常量資料

部分轉載,已註明來源:1、mybatis中獲取常量類中資料<update id="refuseDebt">        UPDATE dt_debt a SET        a.debt_status = ${@[email protected]_R

SpringBoot在IOC之外的使用IOC內部的Bean

oid con sin dao 自己 final cep nco name 某些時候,某些類是不歸IOC管的,如我們的一些Util,如何使用IOC中的Bean? 1、寫一個SpringUtil類,該類用於操縱Spring的ApplicationContext @Comp

工具Get Data-獲取論文圖片資料的工具

在資料蒐集的過程中,可能會遇到論文中有資料,但是沒法獲取其具體值的情況,在資料搜尋的過程中找到兩種方法,一種是使用Get Data,另一種是使用Origin的外掛 還沒使用,先堆上找了幾個都有很多廣告,大家自己找軟體吧 小木蟲上說,誤差不會太大。結合各自的實際情況使用吧

java獲取實體的get、set方法名

/** * java反射bean的get方法 * * @param objectClass * @param fieldName * @return */ @Suppr

Python字典或者對象鍵或者屬性的獲取與存在性判斷

ssss som lse dma 一點 ror orm something erro # 定義測試用對象A,字典B class A(object): length = 10 B ={"length":10} # 判斷對象是否含有某種屬性 # 推薦這種方式,更Py

java學習筆記MyBatis當實體的屬性名和表的欄位名不一樣時的解決方法

在使用MyBatis開發DAO層時,當實體類中的屬性名和表中的欄位名不一樣時,查詢出來的值為null,此時有3種解決方法 解決方法1                在Mapper.xml對映檔案中,寫SQL語句時起別名 解決

記錄spring一個介面多個實現

重構遇到個小問題,記錄下: 錯誤資訊: *************************** APPLICATION FAILED TO START *************************** Description: Field xxxService in com.ali

easyui datagrid與pagination結合使用記錄

fit def ext flag break nowrap isp emp inline /** * Js名稱:客源基本管理 * */ var setPageNumber = 1; var setPageSize = 10; var guestManageLis

#和$MyBatis#和$的區別

body pla dbm orm 操作 sdn HR http ref 一、結論   #{}:占位符號,好處防止sql註入   ${}:sql拼接符號 二、具體分析 動態 SQL 是 mybatis 的強大特性之一,也是它優於其他 ORM 框架的一個重要原因。myb

原創Springboot的Filter攔截器使用@value獲取值為null

  最近在做springboot專案時,需要使用一個Filter攔截器。在攔截器中使用@Value自動注入屬性值,在本地除錯沒有問題,打成war包部署到tomcat中就發生獲取不到值的情況,不僅是@Value,還有@Autowired應該也無法注入值。網上找了很多帖子,都說的是把Filter註冊到Spring

筆記mybatis+mysql,當入參為map時,如何獲取返回的自增主鍵

<selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="paramMap.id">  // keyProperty 要指定為引數map的名稱.返回的鍵名才行,入參paramMap,返回的自增主鍵

記錄Java五個最常用的集合之間的區別和聯絡

常用的集合類有一下幾種: List結構的集合類:ArrayList類,LinkedList類,Vector類,Stack類 Map結構的集合類:HashMap類,Hashtable類 Set結構的集合類:HashSet類,TreeSet類 Queue結構的集合:Q

記錄 Android 雙卡手機獲取兩個IMEI等

1、前言 專案中遇到上傳手機imei的問題。如果手機是雙卡,目前只能獲取預設的imei TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_

Jmeter解決從csv引數檔案獲取帶引號/逗號的資料問題

原文:【jmeter隨筆(3)-從csv中獲取帶引號的資料詳情】  點選檢視原文 作者:黑夜小怪 軟體測試技術交流群 : 429183023  最近在工作中,對jmeter實踐的點滴的記錄這裡分享,不一定正確,僅供參考和討論,有想法的歡迎留言、談論。 1技巧

utils將指定的mysql資料庫的表生成java實體

開發的過程中需要將資料庫中的database中的tables和java中的物件一一對應,如果自己寫很麻煩,藉助小程式可以快速生成 mysql驅動包推薦 5.1.38 版本,用6以上版本有點問題。 自己開發的ORM框架:karma-orm,只是一

記錄selenium+xpath 文字資訊定位,獲取父節點屬性

頁面部分程式碼如下 <td id="reportHeader47" header-class="'header-report-name'" data-title="'label.report'|i18n" sortable="'name'" filt

TensorFlow從訓練好的模型獲取引數值

checkpoint_file = tf.train.latest_checkpoint(FLAGS.checkpoint_dir)graph = tf.Graph()with graph.as_default():    session_conf = tf.ConfigPr

Azure Developer使用Postman獲取Azure AD註冊應用程式的授權Token,及為Azure REST API設定Authorization

Azure Active Directory (Azure AD) is Microsoft’s cloud-based identity and access management service, which helps your employees sign in and access resource

win10 Oracle11g 64位配置PL/SQL Developer記錄

oci per 文件夾 sdn rod tns logs min 工具 在 http://download.csdn.net/download/wuqinfei_cs/7740373 下載PL/SQL Developer。 1. 解壓,在instantclient_11_

mybatis循環map的一些技巧

ava bsp batis class key log net 而不是 地址 原文地址:http://blog.csdn.net/linminqin/article/details/39154133 循環key: <foreach collection="con