• mapper.xml中的常用标签


    ##mybatis的mapper xml文件中的常用标签 [https://blog.csdn.net/qq_41426442/article/details/79663467](https://blog.csdn.net/qq_41426442/article/details/79663467) ###SQL语句标签 ###1、查询语句
    <select id="selectByPrimaryKey"  resultMap="BaseResultMap" parameterType="java.lang.String" >
       selec...   
     </select> 
    

    2、插入语句

    <insert id="insert" parameterType="pojo.OrderTable" >
    insert into ordertable(...)
    values(...)
    </insert> 
    

    3、删除语句

    <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
        delete from ordertable  
        where order_id = #{orderId,jdbcType=VARCHAR}  
    </delete>  
    

    4、修改语句

    <update id="updateByPrimaryKey" parameterType="pojo.OrderTable" >  
       update ordertable 
       set cid = #{cid,jdbcType=VARCHAR},  
       address = #{address,jdbcType=VARCHAR},  
       create_date = #{createDate,jdbcType=TIMESTAMP},  
       orderitem_id = #{orderitemId,jdbcType=VARCHAR}  
       where order_id = #{orderId,jdbcType=VARCHAR}  
    </update> 
    

    需要配置的属性

    1. id="xxxx"    表示此段SQL执行语句的唯一标识,也是接口的方法名称【必须一致才能找到】
    2. parameterType="xxxx"    表示SQL语句中需要传入的参数,类型要与对应的接口方法的类型一致
    3. resultMap="xxx"    定义出参,调用已定义的映射管理器的id的值
    4. resultType="xxxx"    定义出参,匹配普通Java类型或自定义的pojo       【出参类型若不指定,将为语句类型默认类型,如语句返回值为int】

    注意

    为什么insert、delete、update语句的返回值类型是int?
    

    有JDBC操作经验的朋友可能会有印象,增删改操作实际上返回的是操作的条数。而Mybatis框架本身是基于JDBC的,所以此处也沿袭这种返回值类型。

    传参和取值

    mapper.xml 的灵活性还体现在SQL执行语句可以传参,参数类型通过parameterType= "" 定义
    

    ★取值方式1:#{value jdbcType = valuetype}:jdbcType 表示该属性的数据类型在数据库中对应的类型,如 #{user jdbcType=varchar} 等价于 String username;

    ★取值方式2:${value } : 这种方式不建议大量使用,可能会发送sql注入而导致安全性问题。一般该取值方式可用在非经常变化的值上,如orderby ${columnName};

    SQL片段标签

    优点:通过该标签可定义能复用的sql语句片段,在执行sql语句标签中直接引用即可。这样既可以提高编码效率,还能有效简化代码,提高可读性

    1、需要配置的属性:id="" 表示需要改sql语句片段的唯一标识

    2、引用:通过标签引用,refid="" 中的值指向需要引用的中的id=""属性

  • 相关阅读:
    【长安十二时辰】 刺客信条风格剪辑
    【Oracle 触发器】(6)触发器应用场景--数据的备份和同步
    【Oracle 触发器】(5)触发器应用场景--数据库的审计
    银行窗口取号系统,共享数据的线程安全性
    模板方法
    创建线程时如果既传入了runnable对象,又继承thread重写了run方法,会执行哪里的代码
    启动线程用start方法而不是run方法
    java的回调
    java中的闭包
    静态内部类
  • 原文地址:https://www.cnblogs.com/zly123/p/10442643.html
Copyright © 2020-2023  润新知