新書推薦:
《
没有伞的孩子必须努力奔跑
》
售價:NT$
149.0
《
做最好的班主任(李镇西教育文集版)
》
售價:NT$
230.0
《
数据驱动法律
》
售價:NT$
390.0
《
对话世界一流大学图书馆馆长
》
售價:NT$
995.0
《
揭秘立体翻翻书--我们的国宝
》
售價:NT$
490.0
《
清代贡院史
》
售價:NT$
800.0
《
光焰摇曳——变革与守望的梁启超
》
售價:NT$
440.0
《
发展与制约:明清江南生产力研究(壹卷李伯重文集:江南水乡,经济兴衰,一本书带你穿越历史的迷雾)
》
售價:NT$
480.0
|
編輯推薦: |
1.实战经验丰富的作者倾力之作:作者赖帆(@谷哥的小弟)拥有十余年一线开发经验,不仅在多个技术领域有着深厚的积累,还是CSDN年度十大博客之星,确保了本书内容的专业性和实用性。 2.深入浅出讲解MyBatis:不仅覆盖了MyBatis的基础操作和开发环境搭建,还深入探讨了其运行原理、高级特性,以及注解开发和插件技术,为读者提供了一个全面的MyBatis学习路径。 3.结合新技术趋势:介绍了MyBatis-Plus这一国内流行的MyBatis增强工具,以及如何与当前热门的Spring Boot技术结合,确保读者能够掌握新的技术动态和应用实践。 4.项目实战导向:本书以实际项目为出发点,通过Spring Boot项目实战案例,帮助读者将理论知识转化为实际开发能力,提升解决实际问题的能力。 4.适合各层次Java开发者:对于初学者,它是进入MyBatis世界的敲门砖;对于有经验的开发者,它是提升技能和深化理解的良师益友。
|
內容簡介: |
在现在的Java企业级应用中,常见的组合是Spring+Spring MVC+MyBatis(SSM)。MyBatis作为Java后台开发的核心主流框架之一,性能优异、使用者众多,读者基础较广。本书是一本详细介绍MyBatis框架使用指南的书,一切从实际项目出发,主要内容包括MyBatis开发环境、基本操作、运行原理、关联映射、动态SQL、缓存机制、注解开发、插件技术、逆向工程以及国内流行的MyBatis-Plus,最后一章结合Spring Boot技术详细介绍了MyBatis在项目实战中的应用。 本书适合Java程序员阅读。
|
關於作者: |
赖帆(@谷哥的小弟),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 配置Maven6 1.3 入门案例开发详解7 1.3.1 案例开发准备7 1.3.2 创建Module8 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 34 2.1.2 35 2.1.3 35 2.1.4 37 2.1.5 38 2.1.6 38 2.1.7 38 2.1.8 40 2.1.9 40 2.2 MyBatis关键API41 2.2.1 SqlSessionFactoryBuilder42 2.2.2 SqlSessionFactory42 2.2.3 SqlSession43 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 自定义结果映射resultMap81 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动态SQL111 5.1 案例开发准备111 5.2 常用标签详解与应用112 5.2.1 113 5.2.2 114 5.2.3 、、116 5.2.4 118 5.2.5 120 5.2.6 122 5.2.7 123 5.2.8 128 5.2.9 128 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.xml144 6.3.3 设置二级缓存类型145 6.3.4 编写日志文件logback.xml146 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的核心API156 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 创建Module167 9.1.3 编写MBG配置文件169 9.1.4 执行MBG插件170 9.2 逆向工程代码剖析171 9.2.1 POJO171 9.2.2 Example173 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 编写POJO191 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 编写POJO239 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 编写POJO261 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 编写POJO270 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 安装Lombok281 14.3.2 安装MyBatisX282 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
|
|