MyBaits
MyBatis配置优先级:方法参数 > resource/url > properties。支持多环境、事务管理(JDBC/MANAGED),提供一对一、一对多等关联映射,分页支持逻辑与物理两种方式,推荐大数据量使用物理分页。
汇总
本文汇总MyBatis核心配置与使用要点,涵盖配置加载优先级、多环境配置、事务管理、XML映射(一对一、一对多、多对多)、分页策略(逻辑与物理分页对比)、缓存机制、执行器类型及批量操作源码分析,助力高效开发。
映射关系(1-1 1-n n-n)
MyBatis中通过resultMap实现映射关系:一对一(id、result)、一对多(collection)、多对一(association)、多对多(借助中间类)。解决属性与字段不一致问题,支持复杂对象关联,如用户-角色、博客-作者、部门-用户等场景,灵活构建嵌套结果。
分页
本文介绍了五种分页实现方式:MyBatis自带的RowBounds内存分页、PageHelper插件分页、SQL原生分页、数组分页及拦截器分页。对比了逻辑分页与物理分页的优劣,指出大数据量下应优先选用物理分页以降低内存开销,提升性能。
MyBatis
本文介绍MyBatis常见配置,包括属性加载优先级(方法参数 > resource/url > properties)、核心设置如缓存、延迟加载、主键生成等,以及多环境配置与事务管理(JDBC/MANAGED),适用于多数据源场景,结合Spring时无需额外配置事务管理器。
8、反射及泛型
反射是Java提供的API,可在运行时动态加载类、获取类信息、创建对象及调用方法,广泛用于Spring、JUnit等框架,但效率较低。泛型实现类型参数化,提升编译时检查与代码通用性,如List<T>可灵活指定元素类型,避免重复类定义。
第七章 SpringBoot框架
SpringBoot是简化Spring开发的框架,核心功能包括:starter起步依赖简化配置、自动配置实现Bean自动化管理、内嵌Web服务器支持jar包直接运行。常用starter如web、aop、redis等,分为官方与第三方两类,极大提升了开发效率。(238字)
第五章 spring框架
Spring的IOC(控制反转)将对象创建交给容器管理,避免手动new;DI(依赖注入)则让容器自动注入所需对象。通过@Controller、@Service等注解声明Bean,使用@Autowired或@Resource实现注入。默认单例Bean无并发控制,若无状态则线程安全,否则需自行保证。
5、线程与并发
ThreadLocal通过线程私有的ThreadLocalMap实现变量隔离,避免多线程竞争。每个线程以ThreadLocal为key存储独立资源,使用后需调用remove()防止内存泄漏。悲观锁(如synchronized)假定竞争频繁,独占资源;乐观锁(如AtomicInteger)假定竞争少,失败则重试,适用于高并发低冲突场景。
持久层框架MyBatisPlus
MyBatisPlus是MyBatis的增强版持久层框架,简化单表CRUD操作,内置代码生成、分页插件、逻辑删除等功能,支持条件构造器和自定义SQL,提升开发效率,广泛应用于企业级Java项目中。