zoukankan      html  css  js  c++  java
  • mybatis_个人总结

    在使用mybatis框架开发数据访问层的过程中,我在这段时间遇到很多细节问题困住我,在这里我来分享一下我遇到的坑,希望能帮到大家。

    一、mybatis动态代理方式开发的规范:

    1、注意在mybatis映射配置文件中的namespace属性的值必须是mapper接口的全路径名称。

    2、注意映射文件中的标签上的id的值必须和mapper 接口中的方法名称保持一致。

    3、要求映射文件中传入参数的数据类型必须和mapper接口中方法上形参的数据类型保持一致。

    4、要求映射文件中输出参数的数据类型必须和mapper接口中方法的返回值的数据类型保持一致。

    二、使用mybatis映射文件中#{}、${}俩个符号的注意点:

    1、#{},表示占位符,起到占位的作用。

    如果映射文件中输入参数的数据类型是简单类型(String、double、Integer、boolean等)的数据类型时,那么占位符中的变量名称随意起。

    如果映射文件中输入类型的的数据类型是pojo类型时,那么占位符中的变量名称必须是pojo对象的属性名称,如果pojo对象中的属性包含了其他对象时,则变量名称必须是属性.属性.属性......。

    2、${},表示拼接符,起到字符串原样拼接的作用。

    如果映射文件中的输入参数的数据类型是简单类型(String、double、Integer、boolean等)的数据类型时,那么拼接符中的变量名称必须是value。

    如果映射文件中输入类型的的数据类型是pojo类型时,那么占位符中的变量名称必须是pojo对象的属性名称,如果pojo对象中的属性包含了其他对象时,则变量名称必须是属性.属性.属性......。

    3、在开发中如果使用拼接符${}时,一定要注意该符号有SQL注入的风险,必须避免该问题,能替代就替代。

    1 <if test="custName!=null and custName!=''">
    2      <!-- 【注意:这里尽量使用#{}占位符,是为了防止sql注入的问题】 -->
    3      <!-- and cust_name like '%${custName}%' -->
    4      and cust_name like "%"#{custName}"%"
    5 </if>
  • 相关阅读:
    git一个项目导入MyEclipse上传到github
    python之列表练习
    python之元组
    python之列表
    python之替换文件内容和修改某行内容
    python之查询员工名单(读取文件,查询文件内容)
    js:函数一
    8.1(java学习笔记)注解(Annotation)
    8.2(java学习笔记)反射
    7.4 (java学习笔记)网络编程之TCP
  • 原文地址:https://www.cnblogs.com/1315925303zxz/p/6243981.html
Copyright © 2011-2022 走看看