当前位置: 首页 > news >正文

北京智能网站建设哪里好优化提升

北京智能网站建设哪里好,优化提升,阿里巴巴网站域名建设,怎么做网站上做电子书💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 一.基本介绍
      • 1.什么是 MyBatis?
      • 2.MyBatis 特点?
    • 二.故障还原
      • 1.业务代码
      • 2.bug 现象
      • 3.打印执行 sql
    • 三.解决方案
      • 1.定位 bug
      • 2.问题分析
      • 3.解决方案

一.基本介绍

1.什么是 MyBatis?

MyBatis 是一个基于 Java 的持久层框架,它提供了面向 SQL 的数据访问层,使得在应用程序中能够更方便地管理和操作数据库。MyBatis 的目标是通过简化数据库访问的过程来提高开发人员的工作效率。

2.MyBatis 特点?

以下是 MyBatis 的一些关键特点和概念:

  1. SQL 映射文件: MyBatis 使用 XML 文件或注解来配置 SQL 语句和数据库映射。这些文件定义了 SQL 查询、更新、删除等操作,以及结果集与 Java 对象之间的映射关系。

  2. 面向 SQL 编程: MyBatis 允许开发人员直接编写原生 SQL 查询,也可以在 SQL 映射文件中使用动态 SQL。这使得开发人员可以更灵活地控制数据库操作。

  3. 对象关系映射(ORM): MyBatis 支持将数据库表的行映射为 Java 对象,简化了数据库操作时数据的转换过程。开发人员可以通过配置文件或注解来定义对象与数据库表之间的映射关系。

  4. 自动映射: MyBatis 提供了自动映射功能,可以自动将查询结果集映射到 Java 对象中,减少了手动编写映射代码的工作量。

  5. 事务管理: MyBatis 支持事务管理,开发人员可以通过配置文件或编程方式来管理事务,确保数据库操作的一致性和可靠性。

  6. 灵活性: MyBatis 不强制开发人员使用特定的模型或架构,允许开发人员按照自己的需求来组织代码和配置。

MyBatis 在 Java 开发中被广泛应用于持久层的开发,尤其在与关系型数据库交互的项目中。它的设计目标是简化数据库访问,并提供开发人员更多的控制权,使得数据库操作更加灵活和高效。

二.故障还原

1.业务代码

 List<ProductAllexinfoDTO> products = productAllexinfoMapper.totalList(totalListQuery);

2.bug 现象

List<ProductAllexinfoDTO> products = productAllexinfoMapper.totalList(totalListQuery);

这行代码未执行时,debug 看到 totalListQuery 中 name 的值是“李丽”,但是当这行代码执行完了之后 name 的值变为了“王五”,因为代码就这么一点点,那么问题一定是出在 totalList 方法里面

3.打印执行 sql

select * from xx_table where name ='王五'

这就很奇怪了,传入的是李丽,为啥 sql 的参数是王五呢?

三.解决方案

1.定位 bug

select * from xx_table
<choose><when test="query.name != null and query.name != '' and query.name = '王五' ">and region.name = #{query.name}</when><otherwise>and region.name = '六六'</otherwise>
</choose>

2.问题分析

看到这里,恍然大悟,之前确实没有遇到过这样的问题,最关键的是这样写 mybatis 居然认为是对的,没有报错

#把王五的值赋值给了name属性,导致sql的参数和后续的name都是王五
query.name = '王五'

3.解决方案

  • 首先=‘王五’这里,需要改为两个==,这里一定要记住,不能搞混了,一个等号 mybatis 是不报错的
  • 其次,在有字符串判断的时候,需要给外层加单引号,内层加双引号
select * from xx_table
<choose><when test='query.name != null and query.name != "" and query.name == "王五" '>and region.name = #{query.name}</when><otherwise>and region.name = '六六'</otherwise>
</choose>

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

http://www.tj-hxxt.cn/news/31053.html

相关文章:

  • 泉山网站开发免费好用的crm软件
  • 用vs2010做网站登录怎么创建自己的网址
  • 网站内部服务器错误seo外包多少钱
  • 微信红包网站制作知乎推广
  • 关于做情侣的网站的图片定制建站网站建设
  • 公司网站制作工作室百度百科创建
  • 做淘宝客网站需要多大带宽推推蛙seo
  • 做app的网站小程序怎么开发自己的小程序
  • 学校网站建设实施方案百度小程序
  • web网页制作素材seo推广有哪些公司
  • 江门网站制作策划沪深300指数
  • 百度统计网站概况上海排名优化推广工具
  • 银川网站建设哪家便宜关键词搜索排名软件
  • 网站代码字体变大中国疫情最新情况
  • 南方数据企业网站管理系统9网页设计模板免费网站
  • 深圳外贸电商网站建设自媒体营销推广方案
  • 网站起域名原则安徽网络推广
  • 做卡盟开端网站要多少钱嘉兴seo外包服务商
  • 颜色搭配的网站百度排名优化工具
  • 做美食分享网站源码百度热点榜单
  • app制作简易网站电子商务推广
  • 百度 网站添加百度小程序入口官网
  • 秦皇岛建设信息网站百度指数功能模块有哪些
  • 做网站app要注册哪类商标电商营销的策略与方法
  • 建设网站企业专业服务seo外链发布平台有哪些
  • 怎么免费注册自己的网站代运营公司靠谱吗
  • 如何在外管局网站做付汇延期海外推广服务
  • 怎么做租号网站优化百度涨
  • 手机能看的网站有哪些网络营销的推广方法有哪些
  • 小迪网站建设北京seo网络优化招聘网