mybatis学习:五

10 篇文章 0 订阅

本小节描述mybatis中方法的返回值如何处理

a、增删改的方法返回值为int类型,无需指定

int save(Book b);
<!-- 增删改的方法返回值为int类型,无需指定 -->
    <insert id="save" parameterType="Book">
        insert into Book(bookName,bookAuthor,BookPrice,bookInfo)
           values(#{bookName},#{bookAuthor},#{bookPrice},#{bookInfo})
    </insert>

执行查询:
b、若为一个值,直接通过resultType指定返回值的类型

String selectAuthorByName(String name);
    <!-- 若为一个值,直接通过resultType指定返回值的类型 -->
    <select id="selectAuthorByName" resultType="String">
        SELECT bookAuthor FROM book WHERE  bookName= #{name}
    </select>

c、若为一行数据,直接指定为该类,返回一个对象

Book loadById(int id);
    <!-- 若为一行数据,直接指定为该类,返回一个对象 -->
    <select id="loadById" resultType="Book" parameterType="int">
        select * from book where bookId=#{name}
    </select>   

d、若为多行数据,直接指定为该类,返回一个List

List<Book> loadAll();
    <!-- 若为多行数据,直接指定为该类,返回一个List -->
    <select id="loadAll" resultType="Book">
        select * from Book
    </select>

e、若为半行数据或者多个半行数据,直接指定为该类,查询到的列有值,未查询到的列没有值

List<Book> loadAllPrice();
    <!-- 若为半行数据或者多个半行数据,
    直接指定为该类,查询到的列有值,未查询到的列没有值 
    半行返回值为一个对象,多个半行返回值为List-->
    <select id="loadAllPrice" resultType="Book">
        select bookName,bookPrice from Book
    </select>

f、若查询的结果不方便使用实体对象来保存,则使用resultMap
说明:可以不定义,这样column的值和property的值是对应的

    <resultMap type="java.util.Map" id="studentResultMap">
        <result column="id" property="ids"/>
        <result column="name" property="names"/>
        <result column="phone" property="phones"/>
    </resultMap>

在标签中指定

<select id="selectStudentMap" resultMap="studentResultMap">
    select * from student
</select>

返回结果为一个map或者map构成的list,将column中的值插入到map中,其key由property来指定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值