[TOC]
Mybatis了解
ORM,Object-Relationl Mapping,对象关系映射,
用途
MyBatis 可以使 用简单的 XML 或注解来配置和映射原生信息,
将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java 对象) 映射成 数据库中的记录。
简单的说:MyBatis 是一个半自动 ORM 框架,其本质是对 JDBC 的封装。
使用 MyBatis 重点需要程序员编写 SQL 命令,不需要写一行 JDBC 代码。
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
```javaif语句
@Select(“