如何正确理解Mybatis
Posted meifanghua
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何正确理解Mybatis相关的知识,希望对你有一定的参考价值。
一:mybatis是一个持久层的框架,是apache下的顶级项目。
二:mybatis让程序员将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需求的sql语句。所以mybatis中SQL是一个非常重要的部分,当然框架也对其中SQL语句进行了许多优化
三:mybatis可以将向 preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射)
mybatis的工作原理
0
mybatis中的动态SQL语句其中都是一些标签的使用
- <if test="字段的判断"></if>但是<if>标签的局限性较大所以引入下面的<where><if></if></where>
<if test=”name!=null”> </if>
2.<where><if> </if></where>此标签的功能是 在sql语句的开头加上where.去除头部为and 或or开头。
<where> <if test=””></if> <if test=””></if> </where>
3.<set> <if></if></set> Set: 在sql语句前添加set 并且会把sql语句中最后的逗号去除。(主要用于更新数据)
<set> <if test=””></if> <if test=””></if> </set>
4.trim标签可以在前缀中加入SQL语句中的where 或者set 可以用来替代<where></where> <set></set>标签
<trim prefix=”前缀” prefixoverrides=”去除的前缀” suffix=”后缀” suffixoverrides=”去除后缀”> <if test=””></if> <if test=””></if> </trim>
5. choose+when+otherwise 和Java中的 switch语句有类似的效果
6.还有一些简化SQL语句的SQL的语句段 以此来减少代码的复用性 在SQL中引入标签<include>标签
<sql id="Base_Column_List">
id, NAME, age, sex
</sql>
<include refid="Base_Column_List"/>
7.foreach标签的使用例如在查询多个id
以上是关于如何正确理解Mybatis的主要内容,如果未能解决你的问题,请参考以下文章