11、一对多处理
一个老师多个学生;
对于老师而言,就是一对多的关系;
1. 环境搭建
实体类
2. 按照结果嵌套嵌套处理
小结
-
关联 - association 【多对一】
-
集合 - collection 【一对多】
-
javaType & ofType
-
JavaType用来指定实体类中的类型
-
ofType用来指定映射到List或者集合中的pojo类型,泛型中的约束类型
-
注意点:
-
保证SQL的可读性,尽量保证通俗易懂
-
注意一对多和多对一,属性名和字段的问题
-
如果问题不好排查错误,可以使用日志,建议使用Log4j
面试高频
-
Mysql引擎
-
InnoDB底层原理
-
索引
-
索引优化
12、动态SQL
什么是动态SQL:动态SQL就是根据不同的条件生成不同的SQL语句
所谓的动态SQL,本质上还是SQL语句,只是我们可以在SQL层面,去执行一个逻辑代码
动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。
搭建环境
创建一个基础工程
-
导包
-
编写配置文件
-
编写实体类
-
编写实体类对应Mapper接口和Mapper.xml文件
IF
choose (when, otherwise)
trim、where、set
SQL片段
有的时候,我们可能会将一些功能的部分抽取出来,方便服用!
-
使用SQL标签抽取公共部分可
-
在需要使用的地方使用Include标签引用即可
注意事项:
-
最好基于单标来定义SQL片段
-
不要存在where标签
动态SQL就是在拼接SQL语句,我们只要保证SQL的正确性,按照SQL的格式,去排列组合就可以了
建议:
-
先在Mysql中写出完整的SQL,再对应的去修改成我们的动态SQL实现通用即可