mybatis的使用

前面已经介绍了mybatis,随着项目的开发,对mybatis的理解也更加的深刻。

一、mybatis的实现过程模型

返回实体的结果
在这里插入图片描述

二、mybatis的参数和过程

2.1 参数

mybatis支持的操作有以下几种,这样我们就可以对数据操作,并返回值

方法Value
insert插入
update更新
delete删除
create建立
foreach循环
if条件
paramType传入参数
resultType返回结果
id对应的方法名
······

2.2 使用

2.2.1paramtype的意义

paramtype可以方便我们传递参数类型,如果是一个类可以直接使用它的方法,但是需要在这个类中用到set或者get的方法。

  • 参数传递过来的值可以是对象、数据类型等
  • 参数名就是传递过来的名字,当然可以用param去指定参数。
<select id="findById" parameterType="int" resultType="com.zhongruan.bean.User">
        SELECT * FROM student WHERE `index`=#{id};
</select>

2.2.2 resultType的意义

返回类型是数据类型

直接使用数据类型去接收即可,或者用Object去接收。

返回类型为对象

他的返回结果是根据数据的字段来设定的,因此需要一个类来进行接收。类中的方法需要和数据库查询的字段一致,他会自动调用一个构造方法构造这个类,如果没有参数则会为空,参数超过类的属性个数就会出错。

  • 返回的参数格式和类的个数关系:return <= Object。
  • 可以使用as来改变输出的值,也可以修改类名来接收数据。
<select id="findStudentScore" parameterType="StudentToScore" resultType="ScoreShow">
        SELECT course.id as courseId, course.`name`, course.`desc`, course.credit, student_to_score.score, student_to_score.startTime, student_to_score.endTime FROM student_to_score, course WHERE course.id = student_to_score.courseId and studentId=#{studentId} ORDER BY id
</select>

2.2.3 foreach的使用

我们在使用in查询的时候,不能直接将这个list传入,需要用到foreach来完成整个条件的构造,foreach中提供了collection和构造的方法,包括start的东西、end的东西以及separator来进行构造

<delete id="deleteSelectedStudent" parameterType="List">
        DELETE FROM student WHERE studentId IN
        <foreach collection="list" item="studentId" open="(" close=")" separator=",">
            #{studentId}
        </foreach>
</delete>

2.2.4 if的使用

if用于条件的判断,可以通过if构造我们需要的条件,简化重复的代码,增强代码的鲁棒性。if通过对传入参数的判断即可以完成相应的条件构造。

<if test="classId != null and classId != 0">
            classId = #{classId}
</if>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值