本周深入学习了 MyBatis 框架的使用与配置,收获颇丰。
完成了对 MyBatis 框架的 Junit 测试,实现了添加、删除、修改和查询功能。重点学习了如何通过配置 resultType 或 resultMap 将数据库查询结果转化为 Java 对象。同时,了解了 MyBatis 核心配置文件的结构,包括 properties、typeAliases、environments、transactionManager 和 mappers 等标签的用途及书写顺序,并建立了配置文件和映射文件的模板。
继续深入学习 MyBatis 的增删查改操作,掌握了获取参数值的两种方式:${}和#{}。其中${}是字符串拼接,需要手动加单引号;#{}是占位符赋值,可自动添加单引号。还学习了使用@Param标识参数,以及在特殊 SQL 中使用${}的场景。
学习了解决字段名和属性名不一致的三种方法:为字段起别名、设置全局配置自动映射为驼峰,以及通过 resultMap 设置自定义映射关系。详细掌握了 resultMap 的配置,包括 id、type、id 子标签和 result 子标签的使用。
学习了多对一和一对多映射关系的处理。多对一可通过级联方式、association 标签或分布查询实现,其中分布查询支持延迟加载。一对多则通过 collection 标签和分布查询实现。同时,了解了分步查询的优点以及延迟加载的配置。
学习了 MyBatis 的动态 SQL 技术,包括 if、where、trim、choose、when、otherwise 和 foreach 等标签的使用。这些标签能够根据条件动态拼接 SQL,使 SQL 更灵活、高效。
通过本周的学习,我对 MyBatis 框架的使用和配置有了更深入的理解,掌握了其核心功能和高级特性,为后续的项目开发打下了坚实的基础。