1. 程式人生 > >MyBatis各種型別的入參使用方式

MyBatis各種型別的入參使用方式

一、基本型別及其封裝型別、String型別

八大基本型別:
boolean、char、byte、short、int、long、float、double

1,long、Long型別的入參
parameterType既可以配置為java.lang.Long,也可以配置為long

2,int、Integer型別的入參
parameterType既可以配置為java.lang.Integer,也可以配置為int

其他型別同理…….

3,String型別的入參
parameterType既可以配置為java.lang.String,也可以配置為string

例如:
<select
id="getUserById" resultMap="userMap" parameterType="java.lang.Long"> SELECT id, name, phone, age FROM tbl_user WHERE id=#{id} </select>

需要注意的是,引數的名稱一定要對應。

二、物件型別、Map型別

1、物件型別
parameterType設定為物件的全路徑名,引數中直接使用物件的屬性

2、Map型別
parameterType設定為java.util.Map或者map,引數中直接使用Map的key

例如:
<select id="updateUserbById" parameterType="com.ghs.test.User">
    UPDATE tbl_user
    SET name=#{name},
        phone=#{phone},
        age=#{age}
    WHERE
        id=#{id}
    /*user.updateUserbById*/
</select>

三、Set、List、陣列型別

1、List型別,parameterType設定為java.util.List或者list,< foreach>標籤中collection設定為list

2、陣列型別,parameterType設定為array,< foreach>標籤中collection設定為array。

(1)儲存的資料是基本型別,例如Integer、String

<select id="findUserListById" parameterType="list" resultMap="baseUserMap">
    SELECT
         id,name,phone,age
    FROM tbl_user
    WHERE id IN  
    <foreach collection="list" index="index" item="id" open="(" close=")" separator=",">
        #{id} 
    </foreach>
</select>

(2)儲存的資料是物件型別
……
敬請期待!