mybatis常用标签

<if>标签

if元素是最常用的判断语句相当于java中的if语句,他常常与test属性联合使用,if  test 就相当于判定, 若符合标签标签中的条件,则在SQL语句上添加<if></if>内的条件下面代码实战我们会详细讲到

 

增删改查就不说了。

<where>标签

where标签经常跟if标签搭配使用,where标签会判断if标签里的条件是否成立,如果有条件成立则会拼接执行该条件下的sql语句。where标签避免所有条件都为空的时候出现“select * from user where ”这种会出错的情况,当然我们也可以在where后面加入“1=1”简单的解决。

<set>标签

set标签一般用在update语句中,set标签与where标签类似,当我们在update语句里碰到多个字段相关的问题,在这种情况下我们就会用到set标签,他也是判断if标签里的条件是否成立,然后拼接执行sql语句。

<choose>标签

相比于if标签二选一,choose标签就有了第三种选择,或者更多的选择,在映射器的动态语句中使用choose..when..otherwise..这三个元素就能满足不同的业务要求,Mybatis会根据参数的设置进行判断,来拼接组装sql语句,当when标签下无满足条件,则会执行otherwise标签里的语句。

<foreach>标签

foreach元素是一个循环语句,他的作用是遍历集合,他能够很好的支持数组和List的集合。并对此提供遍历,foreach标签常用于in这样的语法里,进行批量处理

resultMap 标签

 基本作用:建立SQL查询结果字段与实体属性的映射关系信息

 查询的结果集转换为java对象,方便进一步操作

 将结果集中的列与java对象中的属性对应起来并将值填充进去


<resultMap id="getStudentRM" type="EStudnet">
<id property="id" column="ID"/>
<result property="studentName" column="Name"/>
<result property="studentAge" column="Age"/>
</resultMap>
<select id="getStudent" resultMap="getStudentRM">
SELECT ID, Name, Age
FROM TStudent
</select>
标签说明:
主标签
id:该resultMap的标志
type:返回值的类名,此例中返回EStudnet类
子标签:

id:用于设置主键字段与领域模型属性的映射关系,此处主键为ID,对应id。
result:用于设置普通字段与领域模型属性的映射关系

trim标签
 trim是更灵活的去处多余关键字的标签,他可以实践where和set的效果。

 where例子的等效trim语句:

<!-- 查询学生list,like姓名,=性别 -->     
<select id="getStudentListWhere" parameterType="StudentEntity" resultMap="studentResultMap">     
    SELECT * from STUDENT_TBL ST      
    <trim prefix="WHERE" prefixOverrides="AND|OR">     
        <if test="studentName!=null and studentName!='' ">     
            ST.STUDENT_NAME LIKE CONCAT(CONCAT('%', #{studentName}),'%')      
        </if>     
        <if test="studentSex!= null and studentSex!= '' ">     
            AND ST.STUDENT_SEX = #{studentSex}      
        </if>     
    </trim>     
</select>     

SQL标签

更多用于写sql语句的一部分,写在配置文件中的常量

include标签

用于引用常量

----------------------------------------------------------------------

----------------------------------------------------------------------

mybatis 除了使用xml方式还有别的方式吗?

还可以吧xml改为Mapper接口 

原文地址:https://www.cnblogs.com/tyadmin/p/11241594.html