- Mybatis中使用#与$的区别。
#:预编译sql语句,类似于JDBC中PreparedStatement.防止sql的注入。获取值。
$: 获取值直接拼接到sql语句中。安全性不高。获取的是表结构的信息。例如表名,列名等
2. 表中的列名与类的属性名不同时。
1. 查询的结果无法封装到该属性上。
解决方案是:
1. 为查询的列起别名 别名和属性名相同。

1. 使用resultMap来解决。关联关联
关联查询。
1. 链表的关联查询
映射文件:


sql语句的增删改查:
1.1添加
1.2 修改.

测试
接口与映射文件一起使用。
1. 映射文件。
2.接口中
1. 测试类中的代码
Mybatis传入多个参数时的处理方式


可以直接使用map作为方法的参数。

模糊查询:
分页查询:




一对多。

动态sql where+(choose+when+otherwise)
动态sql trim
动态sql set标志 用于修改。
update 表名 set 列名=值,列名=值 where 条件
foreach+sql
bind:


