美文网首页
mybatis学习笔记

mybatis学习笔记

作者: 尘封_12d3 | 来源:发表于2017-06-01 23:57 被阅读0次

    mybatis学习笔记

    简介

    入门

    XML配置

    XML

    项目相关笔记

    <![CDATA[ ]]>

    在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决。

    <![CDATA[ ]]> 是什么,这是XML语法。在CDATA内部的所有内容都会被解析器忽略。

    如果文本包含了很多的"<"字符 <=和"&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。

    但是有个问题那就是 <if test=""> </if> <where> </where> <choose> </choose> <trim> </trim> 等这些标签都不会被解析,所以我们只把有特殊字符的语句放在 <![CDATA[ ]]> 尽量缩小 <![CDATA[ ]]> 的范围。

    主键自增

    keyProperty

    selectKey 语句生成结果需要设置的属性。

    resultType

    生成结果类型,MyBatis 允许使用基本的数据类型,包括String、int类型。

    order

    1.BEFORE,会先选择主键,然后设置keyProperty,再执行insert语句;

    2.AFTER,就先运行insert语句再运行selectKey 语句。
    BEFORE
    AFTER

    statementType

    MyBatis 支持STATEMENT,PREPARED和CALLABLE的语句形式, 对应Statement,PreparedStatement 和CallableStatement响应

    chose(when,otherwise)

    if标签是与(and)的关系,而choose是或(or)的关系。choose标签是按顺序判断其内部when标签中的test条件出否成立,如果有一个成立,则choose结束。当choose中所有when的条件都不满则时,则执行otherwise中的sql。

    foreach

    <insert id="batchInsert"parameterType="java.util.List">
    
        <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">  
                select LAST_INSERT_ID();  
           </selectKey>   
            insert into t_qrcode
            (
                uuid,
                batchId,
                picFileName,
                createTime,
                modifyTime
            )
            values
             <foreach collection="list" item="item" index="index" separator="," >  
                (
                #{item.uuid},
                #{item.batchId},
                #{item.picFileName},
                now(),
                now()
                )
            </foreach>  
        </insert>
    

    相关文章

      网友评论

          本文标题:mybatis学习笔记

          本文链接:https://www.haomeiwen.com/subject/ogjyfxtx.html