Mybatis配置檔案中Select元素標籤輸入引數有多少種輸入方式呢?

關東煮小熊仔z發表於2020-09-30

Select元素標籤輸入方式

  • 基本資料型別
  • 字串型別
  • Map 型別
  • Java bean 型別

案例實操

輸入引數分類

基本型別,字串,java bean,map,陣列(刪除操作時體現),List(新增時體現)等每種情況定義如下

基本資料型別

Statement 定義

<!-- 查詢客戶-->
<select id="queryCustomerById" parameterType="int" resultType="com.xxx.pojo.Customer">
    SELECT id,user_name 'userName',user_balance 'userBalance' FROM  yg_customer WHERE  id=#{id}
</select>

CustomerDao方法定義

Customer queryCustomerById(int id);

字串型別

Statement 定義

<!-- 查詢客戶-->
<select id="queryCustomerByName" parameterType="string" resultType="com.xxx.pojo.Customer">
    SELECT id,user_name 'userName',user_balance 'userBalance' FROM  yg_customer WHERE  user_name=#{userName}
</select>

Dao 方法定義

Customer queryCustomerById(int id);

Map 型別

Statement 定義

<!-- 輸入引數為 map 型別 -->
<!-- 查詢客戶-->
<select id="queryCustomerByName" parameterType="map" resultType="com.xxx.pojo.Customer">
    SELECT id,user_name 'userName',user_balance 'userBalance' FROM  yg_customer WHERE  user_name=#{userName}
</select>

Dao 方法定義

Customer queryCustomerByName(Map<String,Object> userName);

Java bean 型別

Statement 定義

 <!-- 輸入引數為 java bean 型別 -->
<select id="queryCustomerByParams" parameterType="customer" resultType="customer">
    SELECT id,user_name 'userName',user_balance 'userBalance' FROM  yg_customer WHERE  user_name=#{userName}
</select>

Dao方法定義

Customer queryCustomerByParams(Customer customer);

擴充套件

結果型別分類

基本資料型別,字串,JavaBean,Map,List等

基本資料型別

Statement定義

<!-- 結果型別為基本資料 -->
<select id="queryCustomerAccount" resultType="int">
    select count(1) from yg_customer
</select>

Dao 方法定義與對應實現

int queryCustomerAccount();

字串型別

Statement定義

<!-- 結果型別為字串 -->
<select id="queryCustomerNameById" resultType="string" parameterType="int">
    select user_name from yg_customer WHERE id=#{id}
</select>

Dao 方法定義

String queryCustomerNameById(int id);

Java Bean

Statement定義

<select id="queryUserByUser" parameterType="user"  resultType="user">

    select id,user_name as userName,user_pwd as userPwd from user where id=#{id}需要視訊配套資料或其他資料+我們小姐姐V lezijie007(加好友暗號 98 ,不備註不加)

</select>

List

Statement 定義

<resultMap type="user" id="user_map">
    <result column="id" property="id"/>
    <result column="user_name" property="userName"/>
    <result column="user_pwd" property="userPwd"/>
</resultMap>
<sql id="user_column">
    id,user_name,user_pwd
</sql>
<select id="queryUserNyName2" parameterType="string" resultMap="user_map">
    select <include refid="user_column"/>
    from user where user_name like concat("%",#{userName},"%")
</select>

Map 型別資料

Statement 定義

<!-- 結果型別為map -->

<select id="queryUserByIdReturnMap"  parameterType="int" resultType="map">

    select id,user_name as userName,user_pwd as userPwd from user where id=#{id}

</select>

相關文章