Mybatis使用

本文最后更新于:4 个月前

idea下使用Spring Boot 搭建Mybatis框架

  • 添加maven依赖

  • 在application.properties文件中,添加Mybatis的配置:

    mybatis.config-location=classpath:mybatis-config.xml
  • 在resources下新建mybatis-config.xml,具体配置请见文件。

  • #{parameter} 和 ${parameter} 的区别

    #是占位符号,$是拼接符号

    1. 参数预处理

      • # 将传入的数据当成一个字符串,会自动对传入数据加双引号

      • $ 将传入的数据直接显示,而不处理

    2. sql注入

      • $ 不能防止sql注入

      • # 可以防止sql注入

    3. $ 一般用于传入数据库对象,例如表名、列名

    4. 尽量使用#

    5. order by动态参数需要用$

  • trim

trim的几个属性 说明
prefix 当 trim 元素包含有内容时, 增加 prefix 所指定的前缀
prefixOverrides 当 trim 元素包含有内容时, 去除 prefixOverrides 指定的 前缀
suffix 当 trim 元素包含有内容时, 增加 suffix 所指定的后缀
suffixOverrides 当 trim 元素包含有内容时, 去除 suffixOverrides 指定的后缀

下面的语句表示为:trim标签中有内容时,添加 where ,而当第一个为and 或者 or 时,会把 and 或者 or 去掉。而如果trim标签中没有内容,则不会添加where语句。(此语句和 标签等价)

<trim prefix="where" prefixOverrides="AND | OR">
</trim>

同理,还有类似 标签的trim

<trim prefix="set" suffiexOverrides=",">
</trim>

当trim中有内容时,添加set,当最后一个为,时,去掉它。