Java项目笔记(三)
一、前端传参类似以下格式,对象中包含一个对象,后台此时接收option为stirng类型
curriculumid
question
answer
option {optionOne ,optionTwo ,optionThree }
故需将该option在后台转换成对象
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.2.3</version>
<classifier>jdk15</classifier>
</dependency>
JSONObject jsonObject = JSONObject.fromObject(choice.getOption());
Option option = (Option) JSONObject.toBean(jsonObject,Option.class);
二、以前没太注意过的一个问题,MySQL数据库中会为每个字段设置长度,例如:
permission类型varchar,长度为64
这个长度是指:如果输入汉字,可以输入64个汉字。如果输入英文可以输入64个英文字母。没有所谓的一个汉字等于两个英文字母。
三、跳出指定循环或判断
if (store.length > 0) {
bgm:
if (!store[0].equals("7")) {
i += 1;
for (String s : store) {
for (String w : we) {
if (s.equals(w) && !s.equals("6")) {
i += 3;
break bgm;
}
}
}
}
}
四、springboot service层在controller层空指针异常
原因controller层方法访问权限不是public
此时方法名显示灰色
五、List集合添加数据空指针异常问题
//list集合必须初始化,如果声明为null,没有初始化,添加值的时候会一直报空指针
List<Map<String,Object>> mapList = null;
List<Map<String,Object>> mapList = new ArrayList<>();
六、MySQL数据类型中 decimal 问题
对于向DECIMAL列的插入操作,目标是准确的数据类型,无论要插入的值是准确的还是近似的,
将采用“半值向上舍入”规则
所以如果需要使用decimal类型时,要指定小数位
一般采用varchar接收就可以了
七、按照List集合中的Map中的某一个参数排序
//该处是从数据库里查出的数据
List<HashMap<String, Object>> maps = resourcePlanningMapper.inquireInventoryProducts(secondLevel, fuzzyQuery, parentid);
//根据该产品库存总量降序,如果是升序则将compareTo的两个参数换下位置就可以
Collections.sort(maps, new Comparator<HashMap<String, Object>>() {
@Override
public int compare(HashMap<String, Object> o1, HashMap<String, Object> o2) {
Integer o1value = Integer.valueOf(o1.get("totalInventory").toString());
Integer o2value = Integer.valueOf(o2.get("totalInventory").toString());
return o2value.compareTo(o1value);
}
});
八、service层路径突然失效 报错 Cannot resolve symbol
解决办法 ,清理idea缓存并重启

九、事务隔离机制的问题
前端获取数据传到后台,因数据格式比较复杂,用Java代码处理数据太繁琐,采用先保存再用SQL分析数据的方式,把处理好的数据再读出来。此时发现因方法加了事务,MySQL默认的事务隔离机制为可重复读,所以当我保存到MySQL时,其实并没有真正的保存到MySQL,所以此时读出来的数据有问题。
十、 You can change this value on the server by setting the ‘max_allowed_packet’
前台传输的字符串超过了MySQL默认的接收长度
设置系统变量
set global max_allowed_packet = 2 * 1024 * 1024 *10
一定要关闭本次连接,重新连接数据库,再查看
show VARIABLES like ‘%max_allowed_packet%‘;
Java项目笔记(三)的更多相关文章
- 项目案例之Pipeline流水线发布JAVA项目(三)
项目案例之Pipeline流水线发布JAVA项目(三) 链接:https://pan.baidu.com/s/1NZZbocZuNwtQS0eGkkglXQ 提取码:z7gj 复制这段内容后打开百度网 ...
- Ant—使用Ant构建简单Java项目(三)
博客<Ant-使用Ant构建简单Java项目(二)>我们简化了运行Test类中main方法须要运行的命令,本博客来介绍一下如何使build.xml文件和当中使用property标签定义的属 ...
- Java学习笔记三十:Java小项目之租车系统
Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...
- Java学习笔记三:Java的变量、常量、变量的类型及使用规则
Java的变量.常量.变量的类型及使用规则 每一种语言都有一些具有特殊用途的词,Java也不例外,它们被称为关键字.关键字对 Java 的编译器有着特殊的意义. 一:Java中的关键字: 注:Java ...
- Java项目笔记01
1 Tomcat问题 1 今天用了Ecplise和MyEcplise想着用同一个路径下的Tomcat,但是却发现配置完Ecplise后MyEcplise却不能用了,并且后面在bin里启动Tomcat还 ...
- 类文件结构——深入理解Java虚拟机 笔记三
在之前的笔记中记录过,Java程序变成可执行文件的步骤是:源代码-->经过编译变成class文件-->经过JVM虚拟机变成可执行的二进制文件.因此,为了对JVM执行程序的过程有一个好的了解 ...
- Java初学者笔记三:关于字符串和自实现数组常见操作以及异常处理
一.字符串常见的操作 1.结合我在python中对于字符串常见处理总结出下面三个应该能算是字符串造作的TOP 3 //字符串查找子串,存在返回index,不存在返回-1 等于python的find: ...
- Java学习笔记三十一:Java 包(package)
Java 包(package) 一:包的作用: 如果我们在使用eclipse等工具创建Java工程的时候,经常会创建包,那么,这个包是什么呢. 为了更好地组织类,Java 提供了包机制,用于区别类名的 ...
- Java学习笔记三.2
5.继承 //Java中所有对象都显式/隐式的继承子Object类 class fu{ fu(){ System.out.println("fu..."+getNum()); sh ...
- Java学习笔记三——数据类型
前言 Java是强类型(strongly typed)语言,强类型包含两方面的含义: 所有的变量必须先声明后使用: 指定类型的变量只能接受预支匹配的值. 这意味着每一个变量和表达式都有一个在编译时就确 ...
随机推荐
- 手把手帮助你搭建属于自己的个人博客,使用cervel部署,无需后端
1.项目简介 项目使用了vue+elementUI技术栈,通过读取本地md文件实现博客文章的展示,使用vercel实现自动化部署,纯前端项目,无需后端 第一步:下载源码 仓库地址: github:ht ...
- Vue 基于VSCode结合Vetur+ESlint+Prettier统一Vue代码风格
基于VSCode结合Vetur+ESlint+Prettier统一Vue代码风格 插件安装 安装Vetur,ESlint, Prettier - Code formatter插件 安装方法(安装ESl ...
- Linux中&&、&、|、||等特殊符号
&& 和 & & 表示任务后台执行,与nohup命令功能差不多. # 运行jar包,并且置于后台执行,执行的日志重定向到当前默认的log.txt文件中 [root@lo ...
- 基于Drone实现CI/CD【0到1架构系列】
CI/CD是持续性集交和持续性部署,简单来讲就是自动化构建和自动化部署.目前有很多集成方案,也有很多组装方案,只要能实现自动化构建出制品,再自动部署到生产环境就行. 目前很多源代码都集成了CI/CD功 ...
- python lambda 三元表达式
python lambda 三元表达式 python中的lambda函数用法 通常定义的函数 def sum(x,y): return x+y print(sum(4,6)) 用lambda来实现: ...
- 【IDEA】创建Maven工程
当前工程,点new - project 选Maven,不需要点选什么骨架创建,骨架创建要下载大量依赖,生成时间太长, 空Maven的目的是让我们自己了解这个项目结构,需要什么依赖再加什么依赖 框线内的 ...
- 【Quartz】
一.Quartz概述 Quartz是用来做定时任务调度的JavaEE框架 需求场景: 1.在每个月末,自动网易云会员续费,或者百度云盘会员续费 2.在迅雷下载完一个超过10G的资源的30秒之后自动关机 ...
- 【Layui】16 表单元素 Form
文档地址: https://www.layui.com/demo/form.html 表单元素: 1.输入框 2.密码框 3.下拉列表 4.单选框 5.复选框 6.文档域 7.富文本 8.开关 单行输 ...
- 路径规划综述博客:A* Optimizations and Improvements
地址: https://lucho1.github.io/JumpPointSearch/ 原作者还开发了A* 算法的Windows系统上的小程序:(重点:小程序意义不大,这个综述还是不赖的) 项目地 ...
- 内存交换空间--Swap Space
转载请注明出处: 一.概述 内存交换空间(Swap Space)是计算机内存的一种补充,位于硬盘驱动器上.当物理内存(RAM)不足时,系统会将不活跃的页面(或称为内存页)移到交换空间中,以释放物理内存 ...