摘要:
1、背景: 线上经常出现因为研发代码编写不规范,sql语句全表查询,数据过多,硬生生把内存塞爆,不断GC,整个服务宕掉的情况。 引发这种场景的原因之一,归咎在使用mybatis编写sql语句时使用了万能查询语句。where 1=1之后,拼接的if条件都不符合条件。如下: 如果下面sql语句中,if条 阅读全文
摘要:
之前一直不太明白,sql语句里为什么要写where 1=1 巴拉巴拉巴拉 提升某种执行效率? 其实,1=1 是永恒成立的,意思无条件的,也就是说在SQL语句中有没有这个1=1都可以。 这个1=1常用于应用程序根据用户选择项的不同拼凑where条件时用的。 如:web界面查询用户的信息,where默认 阅读全文
摘要:
配置上mybatis,增加dao层后,重新写查询页面,结果又遇到不少坑,全是学费。代码结构如下: 1、Invalid bound statement (not found) 报错界面如下。mybatis好久不写,重温一下使用。明显是Mapper.xml与同名的Dao接口映射出现问题导致。 排查过程如 阅读全文
摘要:
近两日学习SpringMVC框架时,编写了一个查询的小demo。 功能介绍:根据name及producing_area查询结果。若为空时,查询出所有结果。 1、启动项目后,页面404。 debug代码后,发现return时,页面找不到。 解决:由于spring的配置文件中没有配置视图解析器,默认的视 阅读全文
摘要:
看了知乎老顽童周伯通的回复和深入解析java反射关于反射的讲解,终于对反射的概念有了新的认识。不再画蛇添足了,转载一下精华部分。 一、为什么要用到反射? 假如你写了一段代码:Object o=new Object(); 运行了起来! 首先JVM会启动,你的代码会编译成一个.class文件,然后被类加 阅读全文
摘要:
在复习JavaSE基础时,看到Object类中的equals方法与==的对比,原文中是这么讲的:“两个内建类型的数值进行比较是否相等时,使用“==”,但当比较两个对象的时候,可以使用“==”或equals方法,这俩方法有区别, 区别在于,equals方法比较的是引用变量指向的对象的值,==比较的是两 阅读全文
摘要:
一、分析 当你使用三元运算符,两边的操作数的类型不一致的时候,这就涉及到三元操作符的转换规则: 二、场景 分析,两个三元操运算,条件都为真,返回第一个值,结果“两者是否相等:true”。结果果真如此吗?结果“两者是否相等:false”! 问题出在于100和100.0这两个数字上: 在变量s中,第一个 阅读全文
摘要:
Maven [ˈmevən] ,跨平台的项目管理工具,主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。 何为构建?什么是依赖?为什么要用Maven?他有什么优点。先不急着明白这些概念,我们从一个简单的maven java项目入手,慢慢理解。 本文适合对概念有一定了解,但没使用过,掌握不 阅读全文