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)语言,强类型包含两方面的含义: 所有的变量必须先声明后使用: 指定类型的变量只能接受预支匹配的值. 这意味着每一个变量和表达式都有一个在编译时就确 ...
随机推荐
- java开发,json转list集合,原生实现
java 是一门面象对象的语言,对象需要先定义,但是在外理网络请求时候会用到json 转成java 对象,虽然现代开发框架中也提供了很多工具和方法直接转换, 但是作为学习者了解 一下底层实现,更能灵活 ...
- BI 工具如何助力市政设计公司实现数字化转型?
一.前言 近年来,国家出台多个政策文件来鼓励和发展数字化和智能化,如<十四五规划>提出要推进产业数字化转型.<交通强国建设纲要>提出要大力发展智慧交通.上海市发布的<关于 ...
- 【RabbitMQ】14 集群搭建
多服务器单实例 -- 参考博客: https://www.cnblogs.com/lixioayi/articles/9993658.html 首先要找到cookie文件,所有实例要保持cookie一 ...
- 【SpringBoot】01 快速上手
环境搭建: JDK8 + IDEA 2018 + SpringBoot + Maven 3.0 + 创建Boot项目 2020.6.1更新补充: 最近才发现SpringBoot用IDEA构建项目会发生 ...
- 中国版的huggingface——始智AI-wisemodel
新闻: 始智AI-wisemodel社区正式上线,目标打造中国版"HuggingFace" 首先要知道,AI火热了7,8年了,不论是国内还是国外一直有要搞模型分享的网站,但是这东西 ...
- vscode中使用ssh进行远程项目开发时无法连接远端服务器——如何解决
找到vscode中的ssh扩展(Visual Studio Code Remote - SSH),然后卸载,再重新安装,即可解决. PS: 重新安装时需要较长时间的等待. ============== ...
- 深入学习JVM-JVM 安全点和安全区域
什么是安全点? 在 JVM 中如何判断对象可以被回收 一文中,我们知道 HotSpot 虚拟机采取的是可达性分析算法.即通过 GC Roots 枚举判定待回收的对象. 那么,首先要找到哪些是 GC R ...
- Opentelemetry collector用法
Opentelemetry collector用法 目录 Opentelemetry collector用法 Service Extensions healthcheckextension Pipel ...
- [KEYENCE Programming Contest 2023 Autumn(AtCoder Beginner Contest 325) E
KEYENCE Programming Contest 2023 Autumn(AtCoder Beginner Contest 325) - AtCoder E E - Our clients, p ...
- 初探 Rust 语言与环境搭建
1. Rust 简介 Rust 的历史 起源:Rust 语言最初由 Mozilla 研究员 Graydon Hoare 于 2006 年开始设计,并于 2009 年首次公开. 开发:Rust 是 Mo ...