MybatisMapper映射

MyBatis----mapper的输入映射和输出映射

mapper.xml文件是我们使mybatis时配置操作数据库语句的方,每个语句对应一个方法,具有输入参数和输出参数,各个参数有不同的类型,下面所说的就是何配置不同类型的参数

输入映射

  • 简单类型

    即java类库中原本所拥有的数据类型,如Integar,Long,String等。

    配置方法,直接将类型添加到sql语句的parameterType属性中,代码如下

        <select id="findUserById" parameterType="int" resultType="cn.itcast.pojo.User">  
            SELECT * FROM user where id=#{id}  
        </select>  
    
  • pojo对象类型

    输入的参数为一个pojo对象,可在sql语句中使用的参数为该对象的属性, #{ } 或者 ${ } 括号中的值为pojo属性名称。
    使用前,需要在mapper-config.xml中的<typeAliases>标签下先声明该pojo对象,如

    <typeAlias alias="PageParam" type="com.param.PageParam"/>
    

    当需要对属性值进行计算时,只要在其中一个括号内写出计算过程,如下面代码中倒数第2行。

    <select id="getStockPage" parameterType="stockParam" resultMap="BaseStockResultMap">
        SELECT BOOK.*,num
        FROM BOOK,stock
        where book.book_id=stock.book_id
        and classification_id like #{classification_id}
        and book.name like '%${keyword}%'
        ORDER BY num ${sort_method}
        LIMIT ${(currentPage-1)*pageSize},${pageSize}
    </select>
    

    使用这种类型的输入映射可以方便需要使用多个参数来调用sql语句的情况,只需要将参数封装起来成为一个类并将该类对象作为输入映射即可实现。

  • pojo包装对象类型

    常用在需要使用多综合条件查询时,例如查询书籍详情时,基本信息条件是一种条件,可以根据书籍的基本信息查询,书籍交易/借阅记录同时也可以作为附加条件,根据借阅记录来筛选书籍。

    包装对象 :需要在一个pojo对象中将另一个pojo对象作为属性值。

    引用 : 同上面pojo对象引用相同,在mapper-config.xml进行声明。

    示例代码

    <select id="MYPOJO" parameterType="Pojo">
        SELECT * FROM `user` WHERE username LIKE "%"#{user.username}"%" 
    </select>
    

    在末尾#{user.username}中,user表示输入映射Pojo对象中声明好的一个User类对象成员的变量名,username为User类对象的一个属性名。

输出映射resultMap

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值