mybatis高級(2)_數據庫中的列和實體類不匹配時的兩種解決方法_模糊查詢_智能標簽


 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.cnsdhzzl.dao.StudentDao">

    <!-- 當數據庫中的列和實體類不匹配時,方法一使用resultMapper -->
    <resultMap type="student" id="studentMapper">
        <!-- 數據庫中的列,實體類的屬性 -->
        <result column="dataName" property="entityName" />
    </resultMap>
    <!-- 當數據庫中的列和實體類不匹配時,方法二語句中使用as,數據庫中的列 as 實體類的屬性 -->

    <!-- 返回集合要加resultType -->
    <select id="findStudent" resultType="student">
        select * from student
    </select>

    <!-- sql語句區分數據庫,以下使用oracle數據庫拼接語句使用|| -->

    <!-- 傳入map集合時參數需要使用map的key -->
    <select id="likeStudent" resultType="student">
        <!-- 傳入map -->
        select * from student where name like '%'||#{mname}||'%' and address
        like '%'||#{maddress}||'%'
        <!-- 傳入零散參數 -->
        <!-- select * from student where name like '%'||#{0}||'%' and address like 
            '%'||#{1}||'%' -->
    </select>

    <!-- 智能標簽 -->
    <select id="smartTag" resultType="student">
        select * from student
        <if test="name !=null">
            and name like '%'||#{name}||'%'
        </if>
        <if test="address !=null">
            and address like '%'||#{address}||'%'
        </if>
    </select>
</mapper>

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com