- 博客(1313)
- 资源 (7)
- 收藏
- 关注
原创 MyBatis-Plus 批量操作实战
本文总结了MyBatis-Plus批量操作的最佳实践:MySQL需添加rewriteBatchedStatements参数,大批量数据应采用BATCH模式的SqlSession分批次处理(建议500条一组),批量更新推荐使用CASE WHEN语句,批量删除需注意ID数量限制。同时指出了Oracle不支持批处理、内存溢出风险和事务边界等常见问题,强调合理分批和事务控制的重要性。这些优化措施可显著提升批量操作性能,避免性能下降十倍以上的问题。
2026-06-08 21:03:48
19
原创 MyBatis-Plus 性能分析实战
摘要 本文介绍了MyBatis-Plus开发中几种SQL性能分析方案:开发环境推荐p6spy打印完整SQL和执行时间;生产环境建议使用Druid的慢SQL监控功能,通过stat-view-servlet查看SQL统计;MP 3.4.x后移除了内置性能分析插件,可用自定义AOP拦截器实现慢SQL监控。重点提示p6spy仅适用于开发环境,生产环境需考虑性能损耗,推荐Druid或Prometheus+Grafana方案。不同环境选择合适工具能有效识别和优化慢查询。
2026-06-08 21:01:11
19
原创 MyBatis-Plus 性能优化技巧
MyBatis-Plus性能优化要点:1)避免N+1查询,使用批量预加载关联数据;2)用saveBatch代替循环单条插入;3)select指定字段减少数据传输;4)深度分页采用游标分页;5)确保WHERE条件字段有索引。这些技巧能显著提升大数据量场景下的性能表现,如10000条数据批量插入可分500条一批处理,关联查询使用批量ID查询替代循环单查。
2026-06-08 20:58:35
20
原创 MyBatis-Plus 常见错误与解决
MyBatis-Plus常见问题摘要 MyBatis-Plus使用中的常见问题包括: 分页不生效需配置分页插件 逻辑删除需@TableLogic注解 乐观锁仅对updateById有效 主键回填要求实体有无参构造器 自动填充注意MetaObjectHandler注册和null值条件 避免N+1查询使用批量方法 多数据源切换失效时用@DSTransactional替代@Transactional 关键点:插件配置检查、注解使用规范和批量操作优化。
2026-06-08 20:55:58
14
原创 MyBatis-Plus 嵌套查询实战
本文介绍了MyBatis-Plus嵌套查询的实战方法。主要内容包括:1)一对一嵌套查询使用association标签及延迟加载配置;2)一对多嵌套查询使用collection标签;3)Wrapper中嵌套条件的and/or/nested用法区别;4)常见坑点如N+1问题、延迟加载失效、结果去重等解决方案。最后给出使用建议:详情页适合嵌套SELECT+延迟加载,列表页应使用JOIN查询,并注意配置正确的延迟加载参数和事务管理。
2026-06-08 20:53:22
15
原创 MyBatis-Plus 实体类注解完全指南
本文全面介绍了MyBatis-Plus实体类注解的使用方法。主要内容包括:表级注解@TableName(定义表名和结果映射)和@TableId(主键策略配置);字段级注解@TableField(字段映射、自动填充和校验)、@TableLogic(逻辑删除)、@Version(乐观锁)和@EnumValue(枚举值映射)。文章还说明了注解优先级规则(字段注解优先于全局配置),并总结了六大核心注解的功能。这些注解能够简化数据库操作,提升开发效率。
2026-06-08 20:50:46
14
原创 MyBatis-Plus 字段验证实战
MyBatis-Plus字段验证策略实践指南:介绍了IGNORED、NOT_NULL、NOT_EMPTY等5种字段验证策略及其应用场景。通过实体类注解和全局配置演示如何控制null/空值是否拼入SQL,指出NOT_NULL与NOT_EMPTY的区别,以及清空字段的方法。特别提醒空字符串和空格处理的注意事项,建议结合Service层校验与数据库策略共同保障数据完整性。适用于需要精细化控制字段操作的开发场景。
2026-06-08 20:48:10
11
原创 MyBatis-Plus 字段替换实战
MyBatis-Plus字段替换实战:通过@TableField注解实现数据库字段与Java属性的映射关系,支持动态字段名处理和字段加密。主要包括:指定数据库字段名(ex:"usr_name")、标记非数据库字段(exist=false)、使用typeHandler处理加密等特殊场景。实际开发中,建议在Service层处理动态字段需求,保持代码清晰。
2026-06-08 20:45:34
10
原创 MyBatis-Plus 多租户实战
MyBatis-Plus多租户插件实战总结:通过TenantLineInnerInterceptor自动为SQL追加租户条件(tenant_id=xxx),实现INSERT自动填充租户ID;使用ignoreTable排除公共系统表,@TenantLineIgnore注解跳过特定方法;注意分页插件需配置在多租户之前确保COUNT语句正确,3.4+版本支持JOIN子表租户条件自动处理。关键点包括租户列配置、公共表排除和跨租户查询的特殊处理。
2026-06-08 20:42:58
11
原创 MyBatis-Plus 多数据源实战
本文介绍了使用MyBatis-Plus的dynamic-datasource实现多数据源配置的方法。主要内容包括:1)引入依赖时避免与spring-boot-starter-jdbc冲突;2)通过YAML配置主从数据源;3)使用@DS注解在类或方法级别切换数据源;4)编程式切换数据源的方式。同时指出了三个常见问题:@Transactional内@DS失效需用@DSTransactional替代、嵌套调用时数据源绑定问题、分页插件DbType动态判断。最后总结了多数据源使用的关键要点。
2026-06-08 20:40:21
13
原创 MyBatis-Plus 动态SQL完全指南
摘要:MyBatis-Plus分页查询实战指南,介绍了分页插件的必要配置、基本使用方法和自定义SQL分页实现。文章重点讲解了如何避免常见陷阱,包括多租户场景下的插件顺序问题、JOIN查询的COUNT优化问题以及Page对象复用问题。同时提供了性能优化建议,如关闭不必要的总数查询。通过实际代码示例,展示了从简单到复杂的分页场景解决方案。
2026-06-08 20:37:45
13
原创 MyBatis-Plus 分页查询实战
本文介绍了MyBatis-Plus分页查询的实战经验。主要内容包括:必须配置分页插件否则分页无效;基本分页查询使用方法及返回结果参数;自定义SQL分页的两种实现方式;关闭COUNT查询提升性能的优化方法。同时指出了常见踩坑点:多租户插件顺序、JOIN查询COUNT不准、Page对象复用问题等。最后总结出4个关键要点:确保配置分页插件、关闭不必要COUNT、注意插件顺序、自定义SQL分页参数要求。全文提供了实用的代码示例和解决方案,对使用MyBatis-Plus进行分页开发具有指导意义。
2026-06-08 20:33:20
14
原创 MyBatis-Plus 关联查询实战
MyBatis-Plus关联查询实战指南:针对MP单表操作强但关联查询弱的特点,提供两种解决方案。一是推荐直接手写SQL,灵活处理复杂关联;二是业务层组装方案,通过两次查询避免N+1问题,适用于简单关联和一对多场景。文章强调MP设计以单表操作为主,关联查询可结合手写SQL,不必拘泥于Wrapper,根据场景选择最优方案。
2026-06-08 20:30:43
14
原创 MyBatis-Plus 乐观锁实战
摘要:MyBatis-Plus乐观锁实战指南,通过@Version注解和插件配置实现并发控制。关键点包括:必须配置乐观锁拦截器;实体类需添加版本号字段并设置初始值;更新时必须先查询再修改;仅对updateById方法有效;批量更新需循环处理;建议配合CAS重试机制。注意常见坑点:wrapper更新不生效、批量操作限制及version初始值问题。该方案适用于轻量级并发场景,能有效防止数据覆盖。(148字)
2026-06-08 20:28:08
10
原创 MyBatis-Plus 主键注解实战
MyBatis-Plus主键策略选用指南:分库分表推荐ASSIGN_ID(雪花算法),单库单表用AUTO,字符串主键选ASSIGN_UUID。注意ASSIGN_ID不支持批量返回ID,UUID存在性能问题,Oracle需配合序列使用。根据场景选择合适策略,分布式场景优先雪花算法。
2026-06-08 20:25:32
11
原创 MyBatis-Plus 与 MyBatis 对比
摘要:MyBatis-Plus(MP)是MyBatis的增强工具,核心区别在于MP提供单表零SQL、自动CRUD、内置分页插件等功能,大幅简化开发。优势包括条件构造器Wrapper、代码生成和开箱即用的插件,但复杂关联查询仍需手写SQL。建议新项目优先选用MP提升效率,复杂场景可与原生MyBatis共存。两者互补,MP适合快速开发,MyBatis保留灵活控制权。
2026-06-08 20:22:56
11
原创 MyBatis-Plus sql 注入器实战
本文介绍了MyBatis-Plus中SQL注入器的使用方式。通过继承AbstractMethod类实现自定义SQL方法(如INSERT IGNORE和逻辑删除恢复),然后继承DefaultSqlInjector注册这些方法,最后扩展BaseMapper接口即可为所有Mapper添加通用方法。作者提醒该功能适合所有表共用的方法,简单SQL直接编写更清晰,不要过度使用注入器。关键步骤包括:定义SQL模板、注册方法、扩展接口,建议仅在真正需要通用方法时使用该功能。
2026-06-08 20:20:18
10
原创 MyBatis-Plus Wrapper 对比完全指南
本文对比了MyBatis-Plus中的各类Wrapper,包括QueryWrapper与LambdaQueryWrapper、UpdateWrapper与LambdaUpdateWrapper的区别,以及LambdaQueryChainWrapper的链式写法。主要差异在于字段写法(字符串vs方法引用)、类型安全性和序列化支持。建议日常开发首选LambdaQueryWrapper保证类型安全,需要序列化时用QueryWrapper,简单查询用链式Wrapper,更新操作用UpdateWrapper。同时提醒
2026-06-08 20:17:41
10
原创 MyBatis-Plus Spring 集成
本文介绍了在传统SSM项目中集成MyBatis-Plus的配置方法。主要包括:引入MyBatis-Plus依赖、配置MyBatis核心文件(开启驼峰映射和插件)、Spring配置(使用MybatisSqlSessionFactoryBean、全局配置逻辑删除和自动填充)、以及Mapper扫描配置。关键点包括使用MyBatis-Plus特有组件替代原生MyBatis组件,通过GlobalConfig配置全局特性,并确保正确配置拦截器和Mapper扫描路径。这些配置使传统项目能够使用MyBatis-Plus的增
2026-06-08 20:15:05
12
原创 MyBatis-Plus Spring Boot 集成
本文介绍了Spring Boot集成MyBatis-Plus的完整流程。主要内容包括:1)引入mybatis-plus-boot-starter依赖;2)配置数据源和MP相关属性;3)Mapper接口的两种扫描方式;4)Service层继承IService和ServiceImpl简化开发;5)配置分页插件和自动填充处理。最后提醒注意版本兼容问题,避免同时引入mybatis-spring-boot-starter。通过简单配置即可快速实现CRUD操作和分页功能。
2026-06-08 20:12:29
11
原创 MyBatis-Plus Mapper 扫描完全指南
本文介绍了MyBatis-Plus中Mapper接口的扫描配置方法。主要内容包括:使用@MapperScan注解扫描Mapper接口的三种方式(指定包路径、基于注解过滤和继承关系过滤);配置XML映射文件路径的yaml写法;以及常见问题排查(Mapper未扫描、XML文件未找到和初始化顺序问题)。最后总结了三个关键配置点:正确使用@MapperScan、配置mapper-locations路径以及验证资源文件位置。
2026-06-07 21:33:16
22
原创 MyBatis-Plus Lambda 查询实战
摘要:MyBatis-Plus Lambda查询通过方法引用替代硬编码字段名,避免重构风险。支持链式写法简化CRUD操作,包括LambdaQueryWrapper查询、LambdaUpdateWrapper更新等。使用需注意:Mapper需继承BaseMapper、不能混用Lambda与字符串方式、不支持序列化(缓存场景需用QueryWrapper)。实际项目中可封装通用构建方法,其核心优势是编译期字段检查,提升开发安全性和可维护性。
2026-06-07 21:30:40
17
原创 MyBatis-Plus IService 封装完全指南
摘要(149字): MyBatis-Plus的IService接口通过继承可快速实现Service层CRUD功能。只需两步:接口继承IService,实现类继承ServiceImpl并实现接口。自动获得批量增删改查、分页等通用方法,支持lambdaQuery链式查询(如条件过滤、排序)和lambdaUpdate链式更新。可扩展自定义方法(如关联查询),并优化批量操作(分批处理)。核心优势在于简化基础代码,通过lambdaQuery().eq().list()等链式调用提升复杂查询可读性,同时保持灵活扩展能力
2026-06-07 21:28:03
17
原创 MyBatis-Plus IDEA 插件完全指南
本文介绍了提升MyBatis-Plus开发效率的两款IDEA插件。EasyCode功能强大,支持从数据库表生成符合MP规范的Entity/Mapper/Service/Controller代码,并允许自定义模板。MyBatisX是官方插件,提供Mapper接口和XML的互相跳转功能。文章提醒开发者生成代码后需手动检查,避免直接全盘接受。建议结合使用EasyCode生成代码和MyBatisX进行导航,以提高MP开发效率。
2026-06-07 21:25:27
11
原创 MyBatis-Plus CRUD 操作实战:从踩坑到真香
摘要 MyBatis-Plus(MP)作为MyBatis的增强工具,显著简化了CRUD操作。本文分享了MP的使用经验与常见坑点: 环境搭建:需注意版本匹配问题,Spring Boot 3.x要求MP版本≥3.5.3;MySQL 8.0+需配置DbType.MYSQL。 实体类注解:详细解析了@TableId、@TableField等核心注解的使用场景,包括主键策略、字段映射和逻辑删除配置。 CRUD操作: 插入操作支持主键回填 查询提供多种条件构造方式 更新支持按ID和条件更新 删除包含逻辑删除功能 性能优
2026-06-07 21:22:51
13
原创 MyBatis-Plus BaseMapper 完全指南
MyBatis-Plus的BaseMapper是核心接口,提供丰富的内置CRUD方法。继承后自动获得insert、delete、update、select等17种常用操作,支持单条/批量处理、条件查询和分页。selectMaps返回Map结果无需实体映射,selectOne需注意多结果只返回第一条。大多数场景无需自定义方法,复杂查询可结合Wrapper和自定义SQL。使用时需注意deleteById(单个ID)与deleteByIds(批量ID)等方法的参数差异。
2026-06-07 21:20:14
12
原创 Flutter 字体配置实战
本文详细介绍了Flutter中的字体配置方法,主要包括系统字体和自定义字体两种方式。重点讲解了自定义字体的完整流程:下载字体文件、项目目录放置、配置pubspec.yaml文件以及具体应用方法。文章还涵盖了图标字体的使用、响应式字体大小适配和性能优化技巧(如避免过多字体变体、使用const构造函数、AutoSizeText组件等)。最后提供了字体配置的最佳实践建议,并预告了下一篇关于Flutter图标使用的指南。全文内容实用,步骤清晰,是Flutter开发者进行字体配置的实用参考。
2026-06-07 16:20:29
17
原创 Flutter 主题完全指南
Flutter主题完全指南摘要 本文全面讲解Flutter主题配置,涵盖基础使用、深色模式和高级技巧。主要内容包括: 基础配置:在MaterialApp中使用ThemeData定义主色调、亮度等基础主题 深色模式:通过darkTheme属性配置,支持手动切换和跟随系统设置 动态切换:使用Provider实现运行时主题切换功能 高级技巧: 使用copyWith修改主题 响应式字体适配不同屏幕 自定义ColorScheme 通过ThemeExtensions扩展自定义主题属性 文章提供了完整的代码示例,帮助开发
2026-06-07 16:17:52
19
原创 Flutter 国际化实战
本文详细介绍了Flutter国际化的完整实现方案,包括ARB文件创建、多语言支持配置和动态切换语言功能。主要内容涵盖:1)国际化基本流程(配置代理、创建ARB文件、格式化字符串);2)ARB文件规范与自动生成Dart代码;3)高级用法(复数/性别处理、日期格式化、RTL支持);4)常见问题解决方案(本地化返回null、UI不更新等)。文章提供可直接运行的代码示例,并针对实际开发中的痛点问题给出实用建议,帮助开发者快速实现多语言支持。
2026-06-07 16:15:16
14
原创 Flutter ListView 性能优化
Flutter ListView性能优化指南 本文详细解析了Flutter中ListView常见的性能问题及优化方案。核心问题包括滚动卡顿、内存占用高、首次加载慢和滚动掉帧,主要原因是未懒加载、无缓存和复杂布局。文章提出了8个关键优化技巧: 使用ListView.builder实现懒加载 用itemExtent固定高度提升滚动性能 通过RepaintBoundary隔离重绘区域 使用Key保持Widget状态 采用CachedNetworkImage缓存网络图片 设置memCacheWidth/Height
2026-06-07 16:12:39
15
原创 Flutter 图片加载优化
Flutter图片加载优化摘要 Flutter图片加载常见性能问题包括内存占用高、加载慢、卡顿和OOM。优化方法主要有: 使用缓存技术避免重复加载 通过cacheWidth/cacheHeight压缩图片尺寸 实现懒加载和预加载机制 采用FadeInImage实现平滑过渡 使用WebP格式减小文件体积 及时释放不再使用的图片资源 确保占位图与实际图片尺寸一致 关键优化点包括:缓存策略、图片压缩、预加载、渐变过渡和资源释放。同时需要注意缓存不生效、内存泄漏和布局跳变等常见问题。
2026-06-07 16:10:03
14
原创 Flutter 性能优化完全指南
Flutter性能优化指南摘要 本文全面介绍了Flutter性能优化的关键方法。首先介绍了三大性能分析工具:Performance Layer(监控GPU/UI线程和帧率)、Memory(分析内存占用和泄漏)和CPU Profiler(追踪高耗时函数)。接着提供了五大优化技巧:1) 使用const构造函数减少Widget重建;2) 拆分Widget降低重建范围;3) 用RepaintBoundary隔离重绘区域;4) 用ListView.builder实现懒加载;5) 使用AnimatedBuilder优化
2026-06-07 16:07:26
17
原创 Flutter 集成测试实战
本文深入讲解了Flutter集成测试的实战应用,对比了Widget测试与集成测试的区别,介绍了集成测试的基本使用方法,包括创建测试文件、添加Key标识和运行测试。文章还详细介绍了高级功能,如截图测试(Golden Test)、多设备并行测试和性能测试(帧率、启动时间),并总结了集成测试的核心要点和最佳实践。最后预告了下一讲将探讨Flutter性能优化主题。
2026-06-07 16:04:49
31
原创 Flutter 测试完全指南
Flutter测试指南摘要 Flutter测试分为三层体系:单元测试(函数/方法)、Widget测试(UI组件)和集成测试(完整流程)。Widget测试依赖Flutter框架,通过flutter_test包实现,包含Finder查找组件、tester模拟交互等核心功能。测试覆盖率可通过flutter test --coverage生成报告,重点关注核心逻辑、边界条件和错误处理。常见问题包括异步未等待导致组件查找失败、测试超时和状态污染,需通过pump()等待、延长超时和setUp()重置状态解决。遵循测试金
2026-06-07 16:01:18
21
原创 Flutter 代码审查完全指南
代码审查(Code Review)是保证代码质量的重要环节。这篇文章我把Flutter代码审查讲透,包括代码规范、Lint检查、代码审查流程、最佳实践。
2026-06-07 15:58:41
13
原创 Flutter 热重载完全指南
这篇文章全面介绍了Flutter的热重载功能,包括与热重启的区别、使用方法(终端、VS Code、Android Studio)、最佳实践(UI调试、状态重置、性能优化)以及常见问题(状态丢失、不生效、应用崩溃)。特别强调了热重载保留应用状态而热重启不保留的核心区别,并提供了Web平台的注意事项。文章实用性强,为Flutter开发者提供了高效调试的具体技巧和解决方案。
2026-06-07 15:55:10
15
原创 Flutter 打包苹果证书配置
本文详细介绍了Flutter打包iOS应用时的苹果证书配置流程。主要内容包括:苹果证书体系概述(证书、App ID、设备和Provisioning Profile)、创建开发证书和发布证书的详细步骤(含CSR生成方法)、Xcode中签名配置的两种方式(自动/手动管理)、以及证书管理的最佳实践(如备份.p12文件、避免撤销证书等)。文章特别强调了证书和私钥的配对关系及妥善保管的重要性,为iOS开发者提供了清晰的证书配置指南和常见问题解决方案。
2026-06-07 15:52:34
20
原创 Flutter Android 打包完全指南
本文是Flutter Android打包的完整指南,详细介绍了从签名配置到发布Google Play的全流程。主要内容包括: 生成签名证书(keystore)并配置gradle签名 生成APK和AAB两种格式(Google Play要求AAB格式) 使用bundletool测试AAB文件 常见错误解决方案(如路径错误、ABI兼容问题等) 特别提醒:Google Play从2019年起只接受AAB格式 文章提供了详细的命令行操作和Gradle配置示例,适合Flutter开发者快速掌握Android打包的关键步
2026-06-07 15:51:12
16
原创 Flutter iOS 打包完全指南
Flutter iOS打包完全指南摘要 本文详细介绍了Flutter应用iOS打包全流程,包括: 开发者账号申请和App ID创建 证书配置(开发/发布证书) Provisioning Profile创建方法(开发/发布) Xcode项目配置要点 Archive打包步骤和常见问题 App Store Connect应用信息配置 最佳实践建议(自动签名管理、打包前清理等) 文章特别强调了iOS打包过程中容易出错的环节,并提供了通过Xcode和开发者网站两种配置方式。最后预告了Android打包指南,邀请读者交
2026-06-06 23:52:55
22
原创 Flutter 自定义 Widget 完全指南
Flutter 平台通道与自定义Widget实践指南 本文介绍了Flutter平台通道的三种通信方式,重点讲解了EventChannel实现原生事件监听的方法,并分享了复杂数据传递、双向调用的高级用法。主要内容包括: 平台通道类型对比(BasicMessageChannel/MethodChannel/EventChannel) EventChannel实现网络状态监听的完整实现代码(Dart+Kotlin) Map/List等复杂数据传递方法 常见问题解决方案(通道名不一致、线程问题、内存泄漏) 原生与F
2026-06-06 23:50:15
16
效率神器3DMDriverMaster:一键解决驱动烦恼!电脑小白也能秒变硬件达人
2025-04-10
DeepSeek大模型安装助手简介
2025-02-27
考勤管理系统源码(含部署教程)适合毕业设计,有视频讲解、文档、和全部源码
2024-11-01
电子秤串口通信协议(RS232).doc
2023-12-07
k-push-master.7z
2023-11-19
国企数字化转型:未来之路.pptx
2023-11-02
2023快递幸福感报告
2023-10-23
2023美妆个护新增量赛道报告.pdf
2023-10-23
2023抖音电商全球购行业趋势白皮书.pdf
2023-10-19
google-search-results-java:谷歌搜索结果采集
2023-10-19
Sublime Text3_64.rar
2020-02-19
Ros认证登录页7套模板.zip
2012-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅