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)语言,强类型包含两方面的含义: 所有的变量必须先声明后使用: 指定类型的变量只能接受预支匹配的值. 这意味着每一个变量和表达式都有一个在编译时就确 ...
随机推荐
- 网络基础 Modbus协议学习总结
协议简介 Modbus协议,首先从字面理解它包括Mod和Bus两部分,首先它是一种bus,即总线协议,总线就意味着有主机,有从机,这些设备在同一条总线上. Modbus支持单主机,多个从机,最多支持2 ...
- Prometheus 基于Python Django实现Prometheus Exporter
基于Python Django实现Prometheus Exporter 需求描述 运行监控需求,需要采集Nginx 每个URL请求的相关信息,涉及两个指标:一分钟内平均响应时间,调用次数,并且为每个 ...
- jdk命令行工具系列——检视阅读
jdk命令行工具系列--检视阅读 参考 java虚拟机系列 RednaxelaFX知乎问答 RednaxelaFX博客 jps--虚拟机进程状态工具 jps :(JVM Process Status ...
- PyCharm2024 专业版激活设置中文
PyCharm2024 专业版激活设置中文 官网下载最新版:https://www.jetbrains.com/zh-cn/pycharm/download 「hack-jet激活idea家族.zip ...
- 有没有使用过MindSpore的,体验怎么样啊?
看到了一个帖子: https://www.zhihu.com/question/386352303/answer/3160948468 ================================ ...
- 神经网络之卷积篇:详解边缘检测示例(Edge detection example)
详解边缘检测示例 卷积运算是卷积神经网络最基本的组成部分,使用边缘检测作为入门样例.在这个博客中,会看到卷积是如何进行运算的. 在之前的博客中,说过神经网络的前几层是如何检测边缘的,然后,后面的层有可 ...
- 利用系统IO读取磁盘上指定BMP图片的宽和高,以及BMP图片的大小, 并输出到终端,要求图片名称通过命令行传递
/************************************************* * * file name:GetBmpInfo.c * author :momolyl@126. ...
- java 栈与队列
Java中的栈与队列 一.栈(Stack) 1.1 介绍 栈是一种后进先出(LIFO,Last In First Out)的数据结构.在栈中,元素的插入和删除操作都是在栈顶进行的.Java中的java ...
- 高性能无锁队列 Disruptor 核心原理分析及其在i主题业务中的应用
作者:来自 vivo 互联网服务器团队- Li Wanghong 本文首先介绍了 Disruptor 高性能内存队列的基本概念.使用 Demo.高性能原理及源码分析,最后通过两个例子介绍了 Disru ...
- 使用Packer构建镜像
什么是Packer Packer 是一个强大的工具,它可以帮助我们轻松地构建各种类型的镜像,如虚拟机镜像.Docker 镜像等. Packer 的工作原理是通过定义一个配置文件,该文件描述了要构建的镜 ...