3.1 MyBatis

MyBatis 中#{}和${}的区别
MyBatis 在处理#{}时,会预编译,将 SQL 中的#{}替换成?号,会自动加单引号
MyBatis 在处理${}时,会把${}替换成变量的值
$要手动加单引号
使用#{}可以有效的防止 SQL 注入。

MyBatis 映射文件
ORM(Object Relationship Mapping)对象关系映射
对象:Java 的实体类对象
关系:关系型数据库
映射:两者之间的对应关系
Java 概念 | 数据库概念 |
---|---|
类 | 表 |
属性 | 字段/列 |
对象 | 行 |
SqlSession 代表 Java 程序和数据库之间的会话。
SqlSessionFactory:生产 SqlSession 的工厂
工厂模式:如果创建某一个对象,使用的过程基本固定,那么我们可以把创建这个对象的方法封装到一个“工厂类”中,以后都使用这个工厂类来“生产”我们需要的对象。
模糊查询
select * from t_user where username like "%"#{username}"%"