自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 肥桃的JavaBug记录12:mybatis中使用<choose>标签进行选择出现判断异常的情况【未解决】

在用mybatis进行数据插入的时候遇到了这样的问题,入参里type是有0和1两种,后续还会有45678等等。按照最初设想,如果type等于1或者3,就将第四个VALUE赋值为39,如果不是就赋值为63。这是打了断点之后的入参集合中的type截图。于是写了如下的xml。 <insert id="initBossWarehousePermission"> REPLACE into t_staff_warehouse_billtype(owner_type, staffI

2021-05-28 11:41:29 510 2

原创 肥桃的JavaBug记录11:mybatis中对json字段内的字段判空

写项目遇到了bug, 经过排查是mybatis的xml中出现了问题在另一项目通过接口向本项目传值的时候json字段中的一个字段是空,导致每次调用方法都会把数据库中原本的值覆盖成null.由于另一项目需要修改的内容过多,非常难以修正,于是想在本项目中通过mybatis标签进行判空,如果传来是空值就不操作数据库.这是传入中的ext字段:内部:可以看到有四个属性是需要判断是否为空的, 于是修改了一下mybatis的xml文件中的语句:JSON_SET可以多次重复使用, 结果是只操作其中一个ke

2021-04-25 16:41:10 469

原创 肥桃的JavaBug记录10:mybatis中操作json字段报错“Invalid JSON value for CAST to DOUBLE from column json_extract”

写项目的时候发布线上遇到了如下的报错.由于之前没有接触mysql的JSON功能, 有点生疏.多方查阅知道了JSON_EXTRACT方法取出的值是带引号的, 需要用JSON_UNQUOTE方法消除引号.测试通过

2021-04-25 16:29:02 1448

原创 肥桃的Java学习记录29:MapUtils工具类

今天写项目时候突然发现了有个小工具类,用于判断map集合是否为空。org.apache.commons.collections4中的MapUtils。其中有一个方法是isNotEmpty(),返回一个boolean类型变量。这里是源码:之前一直自己手写判断null和isEmpty(),没想到已经有了写好的工具类。做个小笔记记录一下。...

2021-04-13 16:34:05 220

原创 肥桃的JavaBug记录9:convertList转换Money类型丢失数据(未解决)

好一段时间没更新,春招找工作了,入职接触项目遇到了很多问题,这个bug困扰了一天没解决。【未解决!】在通过api接口传值时,一开始将数据封装在了orderList的集合中。(后两个属性是之后加的)传过来是一个request对象中存放了type和orderList对象集合。随后想使用convertList方法用反射将orderList里的对象挨个进行转换变成DO对象。DO对象的属性和orderLIst里对象的属性一一对应。这是convertList方法,和其中的一些源码。convertList

2021-04-13 16:26:02 509

原创 肥桃的刷题记录02:LeetCode027

刷题LeetCode27主要考察的是数组的知识点理解题意之后是需要将给定数组中需要返回一个整数类型的长度,粗略理解为代表着这个数组前几位。解题思路是使用双指针法,用左右指针从两侧开始遍历。左指针如果找到了第一个给定val则停下,右侧指针停在第一个不是给定val的位置,随后左右指针对应的数组元素进行交换,重复操作直到左右指针重合或者超过。最后返回的时候如果左指针停在给定val处则返回的长度就是左指针的值,否则需要返回左指针+1。提交结果...

2021-03-21 16:23:24 87

原创 肥桃的刷题记录02:LeetCode001

期间在写牛客的选择题和项目耽搁了很久,现在开始刷算法。题目001很久之前写过,用的暴力法,直接使用嵌套for循环遍历数组找到和为目标值的数返回。时间复杂度O(n^2) n为数组长度空间复杂度O(1) 用到了一个临时变量这次使用了哈希表法,将数组当前的数和目标值相减,差值如果存在于哈希表中则找到对应的数,如不存在则放入哈希表中。数组中第一个数之前哈希表必定为空,所以可以直接放入哈希表,for循环从下标1,即数组的第二个数开始。由于题目规定必定存在,所以最后可以直接返回随便一个数组。使用了

2021-03-12 19:29:25 104

原创 肥桃的JavaBug记录8:SpringCloud中Eureka启动失败APPLICATION FAILED TO START

报错内容问题解决方案这里的defaultZone需要加一个空格启动成功

2021-02-24 11:51:55 157

原创 肥桃的JavaBug记录7:springcloud中mybatis报错java.lang.NoSuchMethodException

学习springcloud微服务时遇到了错误。简单的搭建完项目时想进行测试,在网页中发现遇到500错误回到控制台看报错报错内容java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider.<init>() at java.lang.Class.getConstructor0(Class.java:3082) ~[na:1.8.0_271] at java.lang.Class.n

2021-02-19 17:51:45 372

原创 肥桃的JavaBug记录6:Springboot整合tkmybatis 出现Communications link failure

最近在练习springboot的记账项目时遇到了问题运行测试类的时候出现报错Communications link failure报错大致如下起初按照建议去BillMapper.xml文件和dao层的BillMapper文件中找问题,然而没有发现错误,后来发现是yml文件中配置的url连接池打错了localhost少打了一个host补全后运行测试类继续测试又报错了网上查找资料发现很多都在修改mysql数据库中的权限或者其他问题。尝试过发现都没有效果,后来发现其实是配置连接池的用户名和密码错

2021-02-02 23:01:49 177

原创 肥桃的JavaBug记录5:springboot-mp测试报错Failed to load ApplicationContext

报错内容看报错内容Caused by: org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under ‘logging.level’ to java.util.Map<java.lang.String, org.springframework.boot.logging.LogLevel>找到yml配置文件里的logging.level起初比对多次没有找到原因

2021-01-27 17:50:09 147

原创 肥桃的JavaBug记录4:springboot整合tk.mybatis中@Autowired报错“Could not autowire. No beans of ‘UserMapper‘ type4

在做springboot整合tk.mybatis的时候进行练习。编辑测试类的时候发现@Autowired注解加上之后会报错报错内容是“Could not autowire. No beans of ‘UserMapper’ type found.”一开始以为是哪个地方有遗漏,因为springboot中也不需要进行配置的操作就可以整合tk.mybatis。后来在网上查找经验发现这个应该是IDEA的问题,在springboot中IDEA找不到bean文件,但是本身代码时没有问题的也不需要额外添加注解。

2021-01-25 11:49:08 299

原创 肥桃的JavaBug记录3:javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notify

今天在学习Springboot的时候学习整合mybatis,在运行测试类的时候遇到javax.net.ssl.SSLException: closing inbound before receiving peer’s close_notify的报错其实也不算是完全的报错,因为测试的查询结果已经展示出来的了报错是在关闭Hikari连接池时候发生的通过在网上的搜索,发现在配置数据库的url后加上一个useSSL=false就可以解决报错重新运行测试类解决了...

2021-01-23 01:21:10 136

原创 肥桃的项目笔记02:《记账项目》

记账项目是SSM学习完之后的一个学习总结,用于帮助掌握SSM框架。项目描述:需求分析:1:在主页面用户可以根据账单类型和账单起止时间进行搜索。2:搜索出的内容包括账单标题,记账时间,类别,金额,说明,操作。3:账单类型的下拉框包括:不限,支出,收入,转账,借出,借入,还入,还出。4:金额需要根据账单类型显示“+”或者“-”号。5:表格底部有首页,上一页,下一页,尾页四个按钮,并且显示当总页数和总条数。6:没有搜索出数据时需要给出相应的提示信息。7:点击记账按钮进入记账界面,可以新建账单

2021-01-21 00:46:41 212

原创 肥桃的Java学习记录28:mybatis

1.介绍MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs) MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储

2021-01-19 21:14:14 157

原创 肥桃的刷题记录01:2021/1/18

题目和解答内容都来源于牛客网1:解析:反思:方法区是线程共享的2:解析:反思:JDBC部分需要多复习。占位符只能对应一个值。3:解析:反思:Spring的事务部分需要复习。PROPAGATION_REQUIRED如果没有当前事务将创建一个新的事务。4:解析:反思:CGI是通用网关接口,效率要比servlet低。5:解析:反思:doget和dopost都和HTTP协议有关。6:解析:反思:servlet生命周期要记清楚。7:解析:反思:好不

2021-01-18 22:06:00 141

原创 肥桃的JavaBug记录2:《记账项目》controller层调用service报错空指针

惯例,先上报错和报错位置报错位置可以看到是在第42行出了空指针的报错,这一行是在controller层调用service层方法的时候出现的问题。我先去检查了spring的注入和注释等有没有错误和遗漏,发现没有问题。初始化后前端页面是可以收到后台的传值的,而且测试中发现后台也没有报错。上图可以发现后台传值没有问题在报错位置打了个断点进行debug,发现前端传回的typeid这个值是null,导致了空指针的bug。这里判断应该是前端页面传值出现了问题。首先在检查的时候发现,service层

2021-01-14 17:36:54 314 2

原创 肥桃的JavaBug记录1:《记账项目》报错500

在做记账项目时配置完服务器后启动,发现页面报错500具体报错内容如下:一开始尝试了很多方法,例如检查Tomcat的runtime环境,检查dao层语句,等很多网上的原因,最后发现有一句报错是这样的:java.lang.IllegalArgumentException: Result Maps collection already contains value for com.kkb.dao.BillsMapper.BaseResultMap之后根据其他类似问题的经验觉得应该是在spring框架里

2021-01-11 14:35:52 97

原创 肥桃的Java学习记录27:SpringMVC

1.springMVC介绍Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。 使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还 是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iTex

2020-12-07 13:42:56 179

原创 肥桃的Java学习记录26:Spring

1.spring介绍Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。1.1 spring 特点1.方便解耦,简化开发通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的

2020-12-01 11:47:16 327

原创 肥桃的Java学习记录25:过滤器

过滤器(Filter)1.什么是过滤器过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理,通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理2.过滤器的语法格式2.1.创建一个类实现Filter接口public class CharSetFilter implements Filter{}2.2.重写接口中的方法public void destroy() { //销毁的方法}public void doFilter(

2020-10-23 17:48:49 64

原创 肥桃的Java学习记录24:监听器

监听器(Listener)1.什么是监听器监听器就是监听某个域对象的的状态变化的组件 监听器的相关概念: 事件源:被监听的对象(三个域对象request、session、servletContext) 监听器:监听事件源对象事件源对象的状态的变化都会触发监听器 注册监听器:将监听器与事件源进行绑定 响应行为:监听器监听到事件源的状态变化时所涉及的功能代码(程序员编写代码)2.监听器分类第一维度按照被监听的对象划分:ServletRequest域、HttpSession域、Servl

2020-10-23 17:39:05 186

原创 肥桃的Java学习记录23:会话跟踪

什么是会话跟踪技术会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。保持对用户会话期间的数据管理。常用的会话跟踪 技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份。Session通过在服务器端记录信息确定用户身份。Cookie1.什么是cookieCookie是客户端(一般指浏览器)请求服务器后,服务器发给客户端的一个辨认标识,保存在客户端,当客户端再次 向服务器发送请求时,会携带着这个辨认标识,服务器就可以通过这个标识来识别客户端的身份或状态等。

2020-10-23 16:28:06 108

原创 肥桃的Java学习记录22:JSP

1.什么是JSPJSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为 (.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。J

2020-10-22 21:27:51 427

原创 肥桃的Java学习记录21:HTML与HTML5常用标签

HTML与HTML5常用标签1. HTML简介1.1 HTML是什么HTML 是 HyperText Mark-up Language 的首字母简写,意思是 超文本标记语言HTML不是一种编程语言,而是一种标记语言超文本指的是超链接,标记指的是标签,是一种用来制作网页的语言,这种语言由一个个的标签组成用这种语言制作的文件保存的是一个文本文件,文件的扩展名为 .html 或者 .htmhtml文档也叫 Web页面 ,其实就是一个网页,html文件用 编辑器打开显示的 是文本 ,可以用文本的方式编

2020-09-12 03:51:16 330

原创 肥桃的Java学习记录20:枚举&注解&反射&内省

枚举&注解&反射&内省在框架中会有应用,目前阶段只要求了解。1、枚举1.1、简介JDK1.5引入了新的类型——枚举。在JDK1.5 之前,我们定义常量都是: public static fianl… 。很难管理。枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。用于定义有限数量的一组同类常量,例如:错误级别:低、中、高、急一年的四季:春、夏、秋、冬商品的类型:美妆、手机、电脑、男装、女装…在枚举类型中定义的常量是该枚举类型的实例。

2020-09-11 14:37:40 118

原创 肥桃的Java学习记录19:XML与JSON

XML与JSON简介可扩展标记语言(eXtensible Markup Language)特性:1.xml具有平台无关性, 是一门独立的标记语言.不论是在Windows或者Mac或者其他系统打开,还是用Java,C,Python语言进行解析都可以正常显示。xml可以不依赖任何东西来描述。2.xml具有自我描述性可以去描述自身为什么学习XML?1.网络数据传输客户端和服务器之间的数据安全便捷传输。早期的数据传输没有固定格式,会在不同的团队之间传递数据时增加麻烦。xml可以通过更好的语法来

2020-09-10 16:17:04 144

原创 肥桃的Java学习记录18:网络编程

网络编程网络常识1. 什么是计算机网络2. 什么是计算机的IP地址3. 什么是 网络中 网站的域名4. 什么是计算机的端口号5. 什么是计算机之间的通信协议网络编程程序的分类1.B/S程序2.C/S程序TCP协议-OSI网络模型三次握手和四次挥手(了解)TCP程序ServerSocket常用构造方法:常用方法:Socket构造方法:常用方法:实例:InetAddress 描述IP地址的类常用方法:URL 类 (统一资源定位符)(网址) 了解案例1. 下载文件案例2. 传输参数, 并下载数据网络常识1.

2020-09-08 02:13:33 199

原创 肥桃的Java学习记录17:多线程

多线程技术概述:进程:指在内存中运行的应用程序。每一个运行中的程序在内存中都有自己的独立内存空间。线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,一个进程至少有一个线程,线程其实是在进程基础上的进一步划分,一个进程启动后,里面的执行路径又可以分为多个线程。线程调度:分时调度:所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间。(轮流使用,让内存更合理的分配使用)。抢占式调度:让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),ja

2020-09-07 18:50:40 130

原创 肥桃的Java学习记录16:IO类

本文是IO类学习时的相关笔记,记录了一些学习时的实例和知识点。IO类的含义I:inO:outFile类:文件和目录路径名的抽象表示一参构造方法创建格式两参构造方法第一个参数可以是之前创建的文件夹文件,也可以是路径,表示在指定的文件夹创建文件。相应的可以使用对象.delete()进行删除。其他常用方法:String类型 getAbsolutePath() 获取文件的路径String类型 getName() 获取文件名称String类型 getParent() 获取父文件夹的名称

2020-09-05 10:27:48 128

原创 肥桃的Java学习记录15:List接口的子类,ArrayList 和 LinkedList

Collection接口(重点)本接口中一共定义了 15 个方法,那么此接口的全部子类或子接口就将全部继承以上接口中的方法。但是,在开发中不会直接使用 Collection 接口。而使用其操作的子接口:List、Set。之所以有这样的明文规定,也是在 JDK 1.2 之后才有的。一开始在 EJB 中的最早模型中全部都是使用 Collection 操作的,所以很早之前开发代码都是以 Collection 为准,但是后来为了更加清楚的区分,集合中是否允许有重复元素所以 SUN 在其开源项目 —— PetS

2020-09-03 15:13:54 162

原创 肥桃的Java学习记录14:泛型和通配符

泛型:参数化类型,也可以理解为泛指某个类型。可以让方法中的变量暂时不确定类型。泛型可以在三个位置进行使用:三种方式在类创建时就声明一个泛型,可以用字母表示(类型形参)在使用时传入具体类型(类型实参)泛型接口,同上泛型方法1.泛型在类中使用例如:Person类在创建的时候无法确定类型,但是在使用的时候可以确定,就可以将Person创建为泛型,方法的返回值也会是泛型。Public class Person<A>{private String name;private int ag

2020-09-02 15:54:10 144

原创 肥桃的Java学习记录13:Date类 Calendar类

Date类 Calendar类部分方法整理Date类Date类表示特定的时刻,精度为毫秒。1秒等于1000毫秒。在JDK1.1之前,Date类允许将日期解释为年,月,日,小时,分钟,秒。还允许格式化和解释日期字符串。由于不符合国际化的原因,JDK1.1开始 Calendar类应该用于日期和时间字段之间的转换。至今需要了解的就是getTime()这一方法,返回值为long类型。获取从格林威治历,1970年1月1日东八区的早上八点整(中国时区)开始到现在的毫秒数。Date()getTime()Da

2020-09-02 15:51:34 124

原创 肥桃的Java学习记录12:String类和final关键字

String类特点字符串是不变的,值在创建之后无法改变。因为String对象不可变,所以可以共享他们。例如:两个字符串完全相同,则在内存中可以共享同一个内存地址。字符串常量值字符串的缓存是在字符串常量池里进行缓存,字符串常量池存在于方法区里,(Method Area),方法区是加载代码的区域,又称为永久代(Permanent Generation)。方法区是被所有线程共享,同时操作的内存。堆内存 heap堆内存在逻辑上分为三部分 (perm):新生代(Young generation 简

2020-09-01 19:58:55 137

原创 肥桃的Java学习记录11:包装类

包装类针对Java的八种数据类型,都有相应的包装类。这八种数据类型可以分为两大类:Integer,Short,Long,Double,Float,Byte都是属于Number的子类,表示一个数字。Character,Boolean则是Object的直接之类。举例:int a = 10;Integer i = new Integer(10);int a = 10 在这里直接存入栈内存,不进入堆内存。Integer i = new Integer(10) 这里在栈内存中存放Integer

2020-09-01 18:48:47 113

原创 肥桃的Java学习记录10:用户密码登录实例

题目:假设用户账号为:admin,密码为 123,编写用户登陆案例。 要 求:请将登陆定义为 login 方法, 并将 login 方法写在 UserService 类中思考:首先创建一个UserService类 其中给ACCOUNT设置为静态final变量,因为账号不可改变。之后为密码设置getter和setter方法。再由题意创建login和authentication方法用于接受用户输入的账号密码。import java.util.Scanner;class UserService{ publ

2020-08-28 23:53:52 648

原创 肥桃的Java学习记录9:人机猜拳

程序入口 调用方法来获得输入,进行比较判断胜负public class CaiQuan { public static void main(String[] args) { //获取player和电脑的猜拳结果 Player player = new Player(); String playerResult = player.guess(); AI ai = new AI(); String aiResult = ai.guess(); System.out.println(

2020-08-28 22:35:38 117

原创 肥桃的Java学习记录9:类与对象创建的格式

创建对象的格式 类名+对象名 = new 类名(); 赋值的格式 对象名.变量=赋值;public class Employee { public static void main(String[] args) { //创建对象的格式 //类名+对象名 = new 类名(); Employee1 employee = new Employee1(); //赋值的格式 //对象名.变量=赋值; employee.name = "肥桃"; employee.id .

2020-08-26 03:33:55 207

原创 肥桃Java学习记录8:双色球(有去重)

双色球 任务描述主要思路需要一个方法来选出红球 一个方法确定中奖情况 一个方法来获得用户输入选球:使用两个数组来作为红球池和蓝球池,用循环把随机数储存进中奖数组。在储存前进行去重的判断。蓝球直接选一个球池的随机数。中奖:使用一个int类型的变量储存获奖情况,将选中的球和获奖球进行比较,如果获奖了则返回相应的值,没中奖则返回0获取用户输入:将用户的输入和中奖球比较,得到中奖情况,用switch语句输出不同获奖情况的结果。创建奖池,选择中奖号码import java.util.Random;i

2020-08-25 13:04:16 490

原创 肥桃Java学习记录7:简易五子棋

编写一个简易的五子棋要求绘制棋盘 3提示黑方(用 1 表示)和白方(用 2 表示)分别下棋(X,Y 轴位置) 并重新绘制棋盘。每当一方下棋后判断是否获胜 。由于代码多了看起来比较麻烦,这里选择写在多个方法里。主体部分思路是使用空的二维数组作为棋盘,然后给棋盘赋值网格线作为基础,打印棋盘让用户进行选择。之后接收用户的输入,并且每次落子都顺带判断胜负。import java.util.Scanner;public class WuZiQi { //空棋盘 private stat

2020-08-24 14:58:34 231

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除