关于我们
书单推荐
新书推荐
|
MyBatis核心技术全解与项目实战 读者对象:本书适合Java程序员阅读。
本书主要内容包括MyBatis开发环境、基本操作、运行原理、关联映射、动态SQL、缓存机制、注解开发、插件技术、逆向工程以及国内流行的MyBatis-Plus,最后一章结合Spring Boot技术详细介绍了MyBatis在项目实战中的应用。
1.实战经验丰富的作者倾力之作:作者赖帆(@谷哥的小弟)拥有十余年一线开发经验,不仅在多个技术领域有着深厚的积累,还是CSDN年度十大博客之星,确保了本书内容的专业性和实用性。
2.深入浅出讲解MyBatis:不仅覆盖了MyBatis的基础操作和开发环境搭建,还深入探讨了其运行原理、高级特性,以及注解开发和插件技术,为读者提供了一个全面的MyBatis学习路径。 3.结合新技术趋势:介绍了MyBatis-Plus这一国内流行的MyBatis增强工具,以及如何与当前热门的Spring Boot技术结合,确保读者能够掌握新的技术动态和应用实践。 4.项目实战导向:本书以实际项目为出发点,通过Spring Boot项目实战案例,帮助读者将理论知识转化为实际开发能力,提升解决实际问题的能力。 4.适合各层次Java开发者:对于初学者,它是进入MyBatis世界的敲门砖;对于有经验的开发者,它是提升技能和深化理解的良师益友。
赖帆(@谷哥的小弟),CSDN技术博主,十余年一线开发经验。历任研发工程师、技术组长、高级开发工程师、技术经理、技术部门主管等职位。曾任职于上市集团研发中心,精通Java、C/C++、Python、SQL、JavaScript、Go等主流开发语言。擅长互联网应用开发与实践,热衷于开源技术,对Spring Boot、Spring Cloud、Vue、Flutter等热门技术有着深入的研究。 长期以来,作者坚持在CSDN输出优质技术博客。曾于2016年、2020年两度荣获CSDN年度十大博客之星。截至2023年年底,共创作1400多篇优质博文,博客访问量累计达370万。
第 1章 MyBatis快速上手 1
1.1 概要 1 1.1.1 MyBatis的主要特征 1 1.1.2 ORM模型概要 2 1.1.3 MyBatis与Hibernate的比较 2 1.1.4 MyBatis的下载与使用 3 1.2 开发环境的搭建 4 1.2.1 基础环境检查 4 1.2.2 创建项目 4 1.2.3 配置Maven 6 1.3 入门案例开发详解 7 1.3.1 案例开发准备 7 1.3.2 创建Module 8 1.3.3 Module的结构 10 1.3.4 设置打包方式 10 1.3.5 添加依赖 11 1.3.6 添加日志配置文件 12 1.3.7 创建实体类 12 1.3.8 创建接口文件 13 1.3.9 创建映射文件 13 1.3.10 编写全局配置文件 14 1.3.11 编写测试代码 15 1.3.12 入门案例总结 17 1.4 核心基础 17 1.4.1 MyBatis获取参数的两种方式 17 1.4.2 增删改查标签 18 1.4.3 增删改查案例实践 19 1.4.4 SqlSession工具类 27 1.4.5 增删改查案例优化 28 1.5 小结 32 第 2章 MyBatis运行原理剖析 33 2.1 MyBatis全局配置文件 33 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2 MyBatis关键API 41 2.2.1 SqlSessionFactoryBuilder 42 2.2.2 SqlSessionFactory 42 2.2.3 SqlSession 43 2.3 MyBatis运行原理 45 2.4 小结 46 第3章 MyBatis开发技能进阶 47 3.1 查询操作详解 47 3.1.1 查询单行数据,返回单个对象 47 3.1.2 查询多行数据,返回List集合 49 3.1.3 统计记录条数 50 3.1.4 查询单行数据,返回Map集合 51 3.1.5 查询多行数据,返回Map集合 53 3.1.6 模糊查询 54 3.2 参数传递与接收 55 3.2.1 传递和接收单个普通类型参数 56 3.2.2 传递和接收多个普通类型参数 57 3.2.3 利用@Param注解传递多个普通类型参数 58 3.2.4 传递和接收单个POJO参数 60 3.2.5 传递和接收多个POJO参数 61 3.2.6 利用@Param注解传递多个POJO类型参数 63 3.2.7 传递和接收Map类型参数 64 3.2.8 传递和接收List类型参数 66 3.2.9 传递和接收数组类型参数 67 3.3 实用小技能 68 3.3.1 获取自增的主键值 68 3.3.2 传递表名 72 3.3.3 批量删除 73 3.4 小结 75 第4章 MyBatis关联映射 76 4.1 resultType与自动映射 76 4.1.1 利用字段别名实现自动映射 78 4.1.2 利用全局配置实现自动映射 79 4.2 自定义结果映射resultMap 81 4.3 一对一查询 83 4.3.1 案例开发准备 83 4.3.2 方式一 84 4.3.3 方式二 86 4.3.4 方式三 88 4.3.5 MyBatis延迟加载 90 4.4 多对一查询 91 4.4.1 案例开发准备 92 4.4.2 方式一 93 4.4.3 方式二 95 4.4.4 方式三 97 4.5 一对多查询 98 4.5.1 案例开发准备 98 4.5.2 方式一 100 4.5.3 方式二 101 4.6 多对多查询 104 4.6.1 案例开发准备 104 4.6.2 方式一 106 4.6.3 方式二 108 4.7 小结 110 第5章 MyBatis动态SQL 111 5.1 案例开发准备 111 5.2 常用标签详解与应用 112 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3 小结 130 第6章 MyBatis缓存机制 131 6.1 一级缓存 131 6.1.1 一级缓存应用实践 132 6.1.2 一级缓存失效情形 135 6.1.3 一级缓存失效案例 135 6.2 二级缓存 137 6.2.1 二级缓存使用方式 138 6.2.2 二级缓存应用实践 138 6.2.3 二级缓存属性详解 141 6.2.4 二级缓存回收策略 141 6.2.5 二级缓存失效情形 142 6.2.6 二级缓存失效案例 142 6.3 第三方缓存 143 6.3.1 导入依赖 144 6.3.2 编写配置文件ehcache.xml 144 6.3.3 设置二级缓存类型 145 6.3.4 编写日志文件logback.xml 146 6.3.5 接口文件 146 6.3.6 映射文件 146 6.3.7 测试代码 147 6.3.8 测试结果 148 6.4 小结 148 第7章 MyBatis注解开发 149 7.1 常用注解概述 149 7.2 基于注解的增删改查 149 7.2.1 案例开发准备 150 7.2.2 接口文件 150 7.2.3 测试代码 150 7.3 基于注解的关联映射 152 7.3.1 案例开发准备 152 7.3.2 一对一查询 153 7.3.3 多对一查询 153 7.3.4 一对多查询 154 7.3.5 多对多查询 154 7.4 小结 155 第8章 MyBatis分页插件 156 8.1 分页基本原理 156 8.2 PageHelper的核心API 156 8.2.1 开启分页查询 156 8.2.2 PageInfo的构造函数 157 8.2.3 PageInfo的主要属性 157 8.3 PageHelper的使用方法 157 8.4 PageHelper案例详解 158 8.4.1 案例开发准备 158 8.4.2 接口文件 160 8.4.3 映射文件 160 8.4.4 测试代码 160 8.4.5 测试结果 162 8.5 PageInfo源码剖析 163 8.6 小结 164 第9章 MyBatis逆向工程 165 9.1 MBG入门案例 165 9.1.1 案例开发准备 165 9.1.2 创建Module 167 9.1.3 编写MBG配置文件 169 9.1.4 执行MBG插件 170 9.2 逆向工程代码剖析 171 9.2.1 POJO 171 9.2.2 Example 173 9.2.3 接口文件 174 9.2.4 映射文件 174 9.3 MBG应用详解 174 9.3.1 依据主键查询数据 175 9.3.2 查询所有数据 176 9.3.3 依据条件查询数据 177 9.3.4 统计满足条件的记录 178 9.3.5 依据主键id删除数据 179 9.3.6 依据条件删除数据 179 9.3.7 插入数据 180 9.3.8 选择性插入数据 181 9.3.9 依据主键更新数据 182 9.3.10 依据主键选择性更新数据 183 9.3.11 依据条件更新数据 184 9.3.12 依据条件选择性更新数据 185 9.4 小结 186 第 10章 MyBatis-Plus开发入门 187 10.1 MyBatis-Plus入门案例 188 10.1.1 案例开发准备 188 10.1.2 创建工程 189 10.1.3 添加依赖 191 10.1.4 编写配置 191 10.1.5 编写POJO 191 10.1.6 创建接口文件 192 10.1.7 完善入口类 192 10.1.8 编写测试代码 192 10.1.9 入门案例总结 193 10.2 主键雪花算法 193 10.3 BaseMapper详解 194 10.3.1 查询操作 197 10.3.2 更新操作 200 10.3.3 插入操作 201 10.3.4 删除操作 203 10.4 条件构造器详解 206 10.4.1 比较 206 10.4.2 范围 206 10.4.3 模糊匹配 207 10.4.4 空值判断 207 10.4.5 分组与排序 207 10.4.6 拼接与嵌套 208 10.4.7 条件组拼判断 208 10.5 条件构造器案例 209 10.5.1 案例开发准备 209 10.5.2 QueryWrapper示例 209 10.5.3 UpdateWrapper示例 217 10.5.4 LambdaQueryWrapper示例 219 10.5.5 LambdaUpdateWrapper示例 220 10.6 MyBatis-Plus自定义操作 221 10.6.1 编写接口文件 221 10.6.2 编写映射文件 221 10.6.3 编写测试代码 222 10.6.4 小结 222 10.7 IService概要 222 10.8 IService使用案例 223 10.8.1 案例开发准备 223 10.8.2 编写UserService接口 223 10.8.3 编写UserService实现类 224 10.8.4 插入操作 224 10.8.5 更新操作 226 10.8.6 查询操作 228 10.8.7 删除操作 232 10.8.8 统计操作 234 10.9 小结 234 第 11章 MyBatis-Plus注解开发 235 11.1 常用注解概述 235 11.2 注解应用案例 237 11.2.1 案例开发准备 237 11.2.2 编写枚举类 238 11.2.3 编写POJO 239 11.2.4 编写接口文件 239 11.2.5 编写测试程序 239 11.3 小结 243 第 12章 MyBatis-Plus代码生成器 244 12.1 代码生成器应用案例 244 12.1.1 案例开发准备 244 12.1.2 创建工程 245 12.1.3 添加依赖 245 12.1.4 编写配置文件 246 12.1.5 运行代码生成器 247 12.1.6 完善入口类 248 12.1.7 测试自动生成代码 249 12.2 自动生成代码剖析 250 12.2.1 Doctor实体类 250 12.2.2 DoctorMapper.java接口文件 252 12.2.3 DoctorMapper.xml映射文件 253 12.2.4 IDoctorService接口 253 12.2.5 IDoctorService接口实现类 253 12.2.6 DoctorController控制器 254 12.3 小结 254 第 13章 MyBatis-Plus多数据源 255 13.1 多数据源策略 255 13.2 多数据源应用案例 256 13.2.1 案例开发准备 256 13.2.2 创建工程 259 13.2.3 添加依赖 259 13.2.4 编写配置文件 260 13.2.5 编写POJO 261 13.2.6 编写接口文件 262 13.2.7 编写Service接口 262 13.2.8 编写Service接口实现类 263 13.2.9 完善入口类 263 13.2.10 编写测试代码 264 13.3 小结 266 第 14章 MyBatis-Plus插件技术 267 14.1 分页插件 267 14.1.1 案例开发准备 267 14.1.2 新建工程 268 14.1.3 添加依赖 269 14.1.4 编写配置文件 269 14.1.5 编写POJO 270 14.1.6 编写接口文件 270 14.1.7 编写Service接口 270 14.1.8 编写Service接口实现类 271 14.1.9 配置分页插件 271 14.1.10 完善入口类 271 14.1.11 编写测试代码 272 14.1.12 自定义分页查询 273 14.2 乐观锁插件 275 14.2.1 添加@Version注解 275 14.2.2 配置乐观锁插件 276 14.2.3 测试乐观锁插件 276 14.3 快速开发插件 280 14.3.1 安装Lombok 281 14.3.2 安装MyBatisX 282 14.3.3 MyBatisX使用案例 283 14.4 小结 293 第 15章 MyBatis项目开发实战 294 15.1 项目概览 294 15.1.1 功能介绍 294 15.1.2 核心技术 295 15.1.3 项目展示 295 15.2 项目搭建 304 15.2.1 数据库设计 304 15.2.2 创建项目 305 15.2.3 完善项目结构 308 15.2.4 添加依赖 309 15.2.5 编写配置文件 310 15.2.6 编写登录拦截器 311 15.2.7 编写项目配置类 311 15.2.8 配置项目启动类 312 15.3 数据字典模块开发 313 15.3.1 数据访问层 313 15.3.2 业务逻辑层 313 15.4 “员工管理”模块开发 314 15.4.1 系统登录 314 15.4.2 员工查询 317 15.4.3 新增员工 320 15.4.4 删除员工 323 15.4.5 修改员工 326 15.5 “客户管理”模块开发 329 15.5.1 客户查询 329 15.5.2 新增客户 333 15.5.3 删除客户 337 15.5.4 修改客户 340 15.6 “新闻分析”模块开发 344 15.6.1 新闻查询 344 15.6.2 新增新闻 347 15.6.3 删除新闻 350 15.6.4 修改新闻 353 15.6.5 查看新闻 356 15.7 “统计分析”模块开发 357 15.7.1 数据访问层 357 15.7.2 业务逻辑层 358 15.7.3 请求处理层 358 15.7.4 前端页面 359 15.8 小结 360
你还可能感兴趣
我要评论
|