[TOC]

Mybatis了解

ORM,Object-Relationl Mapping,对象关系映射,

它的作用是在关系型数据库和对 象之间作一个映射处理

用途

MyBatis 可以使 用简单的 XML注解来配置和映射原生信息,
接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java 对象) 映射成 数据库中的记录。
简单的说:MyBatis 是一个半自动 ORM 框架,其本质是对 JDBC 的封装。
使用 MyBatis 重点需要程序员编写 SQL 命令,不需要写一行 JDBC 代码。
image.png

Mybatis使用

SQL语句

Mybatis 中的参数绑定

①#{ } 和 ${ }的区别:

在映射配置文件中向 SQL 语句中绑定参数的语法结构为#{ }和${ }。

  • #{ } 解析为一个 JDBC 预编译语句(PreparedStatement)的参数标记符占位符 ?。使 用该方式可避免 SQL 注入。
  • ${ } 仅仅为一个纯碎的 String 替换,在 Mybatis 的动态 SQL 解析阶段将会进行变量替 换。${ } 在预编译之前已经被变量替换了,这会存在 SQL 注入问题。【菜鸟雷区】 :${}一般用于传输数据库的表名、字段名等

    ②在MyBatis中,#{id}表达式获取参数有两种方式:

  • 一是从HashMap 中获取集合中的property对象; (参数少建议)Map接口

  • 二是从javabean中获取property对象。(参数多建议)Java Bean

    like语句

    **like CONCAT('%', f(name),'%')**

    动态SQL

    ```java

    if语句

    @Select(“