自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

江南好

那一个世界由我来创建

  • 博客(151)
  • 资源 (7)
  • 收藏
  • 关注

原创 Java:基于注解对类实例字段进行通用校验

抽象方法参数model的字段校验代码

2023-01-01 13:41:42 1538 1

原创 Java:Spring、Java、MyBatis常用注解

Spring给容器中注入组件控制层@Controller业务层@Service数据访问层@Repository通用@Component:泛指各种组件,@Controller、@Service、@Repository都可以称为@Component。给属性注入IOC容器中的bean@Autowired:由bean提供,@Autowired可以作用在变量、setter方法、构造函数上;@Autowired有个属性为required,可以配置为false。@Resource:由JSR-250

2022-04-19 14:02:26 302

原创 Java:注意事项集合

回车与换行的区别,CRLF、CR、LF详解(\r \n \r\n的区别)https://blog.csdn.net/lishuoboy/article/details/84768748java中String的格式化format()方法https://blog.csdn.net/weixin_42338519/article/details/89392562

2021-11-05 18:37:26 185

原创 Java:Java架构师学习规划

操作系统底层JVM底层深入了解JVM的底层原理:https://blog.csdn.net/ligh_sqh/article/details/79481040四高:高扩展性、高可用性、高可维护性和高安全性谈谈软件的高扩展性、高可用性、高可维护性-------针对网银接入项目的思考:https://blog.csdn.net/dingwood/article/details/7540988算法:动态规划...

2021-10-21 08:52:35 151

原创 EasyExcel基本教程

前言easyexcel的github地址为:https://github.com/alibaba/easyexcel,目前的最新版本是v2.2.10。Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,能够原本一个3M

2021-07-17 22:10:37 1899 1

原创 Vue的导入(import)和导出(export、export default)

一、importimport在引入文件路径时,引入一个依赖包,不需要相对路径。如:import app from ‘app’;,但引入一个自己写的js文件,是需要相对路径的。如:import app from ‘./app.js’;。引入第三方插件import Vue from 'vue';import echarts from 'echarts';import ElementUI from 'element-ui';导入css文件import 'vue-video-player/src/

2021-07-17 20:30:01 19431 5

原创 JDK中的开发工具详解

java.exe功能说明负责执行字节码文件。语法java [-命令选项] class [args…]java [-命令选项] -jar jarfile [args…]命令选项-nowarn 不输出警告信息-verbose 输出编译器运行中的详细信息-classpath 会覆盖系统的classpath环境变量-sourcepath<path> 指定Java源文件的位置-d<目录>

2021-04-28 12:37:45 575 1

原创 Java Web之HttpSession详解

前言HttpSession是服务端的技术,服务器会为每一个用户创建一个独立的HttpSession。HttpSession原理:当用户第一次访问Servlet时,服务器端会给用户创建一个独立的Session并且生成一个SessionID,这个SessionID在响应浏览器的时候会被装进cookie中,从而被保存到浏览器中当用户再一次访问Servlet时,请求中会携带着cookie中的SessionID去访问服务器会根据这个SessionID去查看是否有对应的Session对象有就拿出来使用;没有就创建一个

2021-04-25 11:33:10 1982 1

原创 基于POI框架操作Excel文件

前言Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。POI的结构如下:HSSF - 提供读写Microsoft Excel格式档案的功能。XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。HWPF - 提供读写Microsoft Word格式档案的功能。HSLF - 提供读写Microsoft PowerPoint格式档案的功能。HDGF - 提供读写Microsof

2021-04-24 21:40:26 184

原创 URL中的特殊字符

URL出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,这时需要将这些字符转化成服务器可以识别的字符,对应关系如下:+ URL 中+号表示空格 %2B 空格 URL中的空格可以用+号或者编码 %20/ 分隔目录和子目录 %2F ? 分隔实际的URL和参数 %3F % 指定特殊字符 %25 # 表示书签

2021-04-23 19:11:25 5311

转载 项目之前后端分离

前言前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。前后端分离的核心思想是前端html页面通过ajax调用后端的restful api接口并使用json数据进行交互。(名词解释:在互联网架构中,web服务器:一般指像nginx,apac

2021-04-22 10:54:10 871

原创 使用npm安装cnpm

1 安装nodenode的下载地址为:https://nodejs.org/en/download/,本系统下载的是压缩版本的,解压即为安装目录。为了可以在cmd中直接使用node命令,建议把node的安装目录添加中环境变量path中。2 查看node是否安装成功:node -v3 安装淘宝镜像npm install -g cnpm -registry=https://registry.npm.taobao.org4 查看cnpm是否安装成功:cnpm -v因为是使用npm安装cnpm,所以

2021-04-20 11:41:39 12651

原创 Java问题:通过类的全限定类名查找其所在的jar文件的位置

如何通过类的全限定包名查找它的jar文件的位置?方法很简单,如下:包名.class.getProtectionDomain().getCodeSource().getLocation();示例package com.example;public class Test{ public static void main(String[] args){ System.out.println(org.apache.commons.logging.Log.class.getProtectionD

2021-04-16 09:50:47 741

原创 调整SQL Developer19.1的界面字体和编辑器字体的大小

前言在Window 10初次打开sqldeveloper时会发现菜单字体特别小,小到一般人都是忍受不了的。如下所示,就是全屏截图出来的界面。因此,为了可以正常地使用软件,第一步要做的就是调整界面和编辑器字体的大小。调整界面字体的大小1、创建快捷方式2、选中此快捷方式,鼠标右击—>属性点击兼容性标签页,兼容模式选择Windows 7,由于我的系统是Windows 10的,因此也选择的是Windows 7继续点击更改高DPI设置,勾选替代高DPI缩放行为,之后点击确定,回到兼容性界面

2021-04-15 13:50:32 1874 1

原创 Oracle问题:锁表

锁表原因及解决思路1、锁表发生在insert、update 、delete 中;2、锁表的原理是数据库使用独占式封锁机制,当执行上面的语句时,对表进行锁住,直到发生commit 或者 回滚 或者退出数据库用户;3、锁表的原因:第一、 A程序执行了对 tableA 的 insert ,并还未 commite时,B程序也对tableA 进行insert 则此时会发生资源正忙的异常 就是锁表,第二、锁表常发生于并发而不是并行(并行时,一个线程操作数据库时,另一个线程是不能操作数据库的,cpu 和i/o 分配

2021-04-15 11:26:38 1525

原创 Java问题:在Java程序中抛出异常后,其之后的代码还会继续执行吗

当抛出运行时异常后,后面的代码还会执行吗有这样的一个问题,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢?如下代码:public void add(int index, E element){ if(size >= elements.length) { throw new RuntimeException("顺序表已满,无法添加"); //return; //需要吗? } ....}为了回答这个问

2021-04-14 15:48:43 3335

转载 swing编程之滚动面板:JScrollPane

概述官方的API文档:javax.swing.JScrollPaneJScrollPane,滚动面板。JScrollPane 支持水平和垂直滚动视图。文本区域、表格等需要显示较多数据而空间又有限时,通常使用 JScrollPane 进行包裹以实现滚动显示。JScrollPane 内包含一个视口(ViewPort),表示 JScrollPane 的显示区域。视口内包含一个需要滚动显示的组件,称为视图。JScrollPane 常用构造方法:/** * 参数说明: * view: 需要滚动显示

2021-04-09 14:27:20 1970

原创 在Java中使用网络框架编写网络应用程序

前言自从JDK1.4中有了NIO以后,这个方面越来越活跃,也为java赢得更多开发者的支持。做java网络编程需要掌握一些基本的知识和技能:套接字编程、阻塞/非阻塞通信、创建HTTP服务器与客户程序、数据报通信、对象的序列化与反序列化、Java反射机制、RMI框架、JDBC API、JavaMail API、MVC设计模式、安全网络通信、CORBA和Web服务 等等。八大主流网络编程框架:1、Apache MINA项目主页:http://mina.apache.org/为开发高性能和高可用性的网络

2021-04-09 12:48:14 337

原创 使用JTable创建一个带有复选框的用于删除选中列的表格

JTableDefaultCellEditorAbstractTableModel

2021-04-09 10:19:32 1135

原创 在MySQL中用root用户创建新的用户并为之授予权限

前言在一个正常发展的公司里面都会进行着明显的数据权限管理,特别是操作数据库这种安全性要求比较高的软件时。毕竟,万一你误删了某些数据库,损失就大了。为此,在公司里进行项目开发时,一般会一个项目就创建一个专门的用户指定其权限只能控制某一个数据库进行操作。这样在开发项目的过程中,就只能用该用户操作指定的数据库,而无法影响到其他的数据库了,无疑,这种做法提高了数据操作的安全性。创建用户要创建一个新的mysql用户的话,需要用root用户登录MySQL服务器并进行操作。首先登录mysql客户端:mysql -

2021-04-06 17:05:15 9194 1

原创 Oracle和MySQL的数据类型

Oracle的数据类型ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID & UROWID类型。字符类型字符串数据类型还可以依据存储空间分为固定长度类型(CHAR) 和可变长度类型 VARCHAR2/NVARCHAR2)两种。CHAR 类型CHAR 类型,定长字符串,会用空格填充来达到其最大长度。非NULL 的CHAR(12)总是包含12 字节信息。

2021-04-06 15:55:06 1972

原创 java.util.Date、java.sql.Date、java.sql.Time和java.sql.Timestamp之间的区别

继承关系java.util.Date、java.sql.Date、java.sql.Time和java.sql.Timestamp之间的继承关系java.lang.Object....|__java.util.Date..........|__java.sql.Date/java.sql.Timestamp /java.sql.Time【父类】java.util.Date日期格式为:年月日时分秒【子类】java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据]【子类】jav

2021-04-06 15:27:16 167

原创 Java中的四种访问修饰符:public、default、protect和private

前言Java中有四种访问修饰符用于控制类、接口、变量和方法的封装程度。这四种修饰符分别为:private 私有的,类可见性package/friendly/default 包级别的/友好的/默认的,包可见性protected 受保护的,不同包,子父类可见性public 公共的,项目可见性其中,变量和方法可以用四种修饰符修饰,而类和接口仅能用public和default修饰。类之间的关系类和类之间的关系有如下几种:以Hero为例自身:指的是Hero自己同包子类:ADHero这

2021-04-06 14:53:11 2752

原创 对Java中的日期进行格式化处理

前言如果用java.util.Date来直接输出日期,格式会比较固定,不够灵活。那如何设置输出日期的格式呢?又如何来按照自己想要的格式来输出日期呢?日期转字符串首先我们先要知道java中年月日等时间用什么字母可以替代y 代表年M 代表月d 代表日H 代表24进制的小时h 代表12进制的小时m 代表分钟s 代表秒S 代表毫秒代码如下:package date2;import java.util.Date;import java.text.SimpleDateFormat;

2021-04-06 14:38:13 1224

原创 使用jacob和poi处理word文档(Word+Excel+PPT)

POI库的下载地址:http://poi.apache.org/index.htmlJACOB库的下载地址:https://github.com/freemansoft/jacob-project/releases其中,jacob-1.20-x64.dll 是用于64位机器上的,jacob-1.20-x86.dll是用于32位的。该dll放于 C:\Windows\system32 目录下。jacob.jar放到项目的lib文件夹,并添加到classpath中。...

2021-04-06 11:58:00 299

原创 使用iText处理pdf文件的入门级教程

前言iText是著名的开源项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText项目的官网为:http://itextpdf.com/,本教程需要用到的jar包是:itextpdf-5.5.9.jar,其地址在:https://repo.itextsupport.com/webapp/#/artifacts/browse/tree/General/releases/com/itextpdf/itextpdf

2021-04-06 11:07:10 3535

原创 MySQL问题:ERROR 1055 (42000): Expression #2 of SELECT list is not in GROUP BY

问题描述:ERROR 1055 (42000): Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘commodity.a.xsjg’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_bymy

2021-04-05 23:04:59 1672

原创 在MySQL中比较日期大小的方法

假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql:select * from product where add_time = '2013-01-12'对于这种语句,如果你存储的格式是YY-mm-dd是这样的,那么OK,如果你存储的格式是:2013-01-12 23:23:56这种格式你就悲剧了,这时你就可以使用DATE()函数用来返回日期的部分,所以这条sql应该如下处理:select * from product where Date(ad

2021-04-05 15:32:05 3339

原创 问题集:swing编程之往窗口添加组件后不能立即显示出来

前言由于某些需要,需要进行 Java Swing 编程。但是在进行编程中,发现了一个问题,那就是给 JFrame 添加组件后,组件没有立即显示。你以为你程序有问题,各种查资料,发现没问题,都是这样的,然后在你骂娘的时候,你突然对窗体进行拉伸,你就发现组件又显示出来了。此时就各种冒火。那么这到底是什么鬼呢?其实就是程序语句顺序的问题,即:对 JFrame 主窗体的初始化等设置一定要放在程序最后面。模拟场景Main.java: [没问题的版本,仅有 3 个 JLabel]/** - 程序入口 - @

2021-04-03 23:29:03 1280 2

原创 Java之MySQL模糊查询(like)

在Java中进行MySQL模糊查询有两种方式(通配符百分号%匹配0~n个任何字母。):第一种方式:直接在SQL语句中进行拼接,此时需要注意的是parm在SQL语句中需要用单引号拼接起来,注意前后单引号之间不能空格。String sql = "select * from tb_user where uname like '%" + parm + "%'";第二种方式: 使用占位符,在占位符赋值时进行拼接。String sql = "select * from tb_user where uname

2021-04-03 15:05:33 4873 5

原创 MySQL的常用函数

聚集函数avg(expression):返回一个表达式的平均值,expression 是一个字段SELECT AVG(age) FROM student;count:总数max:最大值min:最小值sum:总和字符串处理函数合并字符串函数:concat(str1,str2,str3…)比较字符串大小函数:strcmp(str1,str2)获取字符串字节数函数:length(str)获取字符串字符数函数:char_length(str)字母大小写转换函数:大写:upper(x),uc

2021-04-03 13:15:35 460

原创 SQL语言的分类:DQL、DML、DDL和DCL

前言SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。数据查询语言DQL数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:SELECT <字段名表>FROM <表或视图名>WHERE <查询条件>数据操纵语言DML数据操纵语言DML主要有三种形式:1) 插入:INSERT2) 更新:UPDATE3) 删除:DELETE数据定义语言DDL数据定义语言

2021-04-03 10:54:56 259

原创 在Java中生成唯一识别码(Universally Unique Identifier,UUID)

前言我们开发的时候,数据库表总会有一个主键,以前我们可能会使用自增的数字作为主键。这样做去确实查询的时候比较快,但是在做系统集成或者数据迁移的的时候就麻烦了。这是id就有可能重复了。那么有什么比较好的方法解决这一问题呢?于是jdk1.5出了UUID这个类来生成唯一的字符串标识。什么是UUIDUUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用

2021-04-02 21:28:39 2051

原创 Oracle的基本操作

基础知识数据字典的定义和组成定义:数据字典是oracle数据库中最重要的组成部分,记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户;用户只能在数据字典上执行查询操作,而其维护和修改是由系统自动完成的!数据字典的组成:包括数据字典基表和数据字典视图 ,其中基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表,数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过查询数据字典视图取得系统信息.数据字典视图主要包括user_xxx,all_xxx,dba_xxx三种

2021-04-02 16:21:01 1035

原创 MySQL和Oracle的分页查询

MySQL使用limit进行分页select * from stu limit m,n; // m=(pageIndex-1)*pageSize,n=pageSize(1)第一个参数m表示起始行,第二个参数表示取多少行;(2)pageIndex表示页索引,即查询第几页的数据(从1开始),pageSize表示页大小,即一页最多显示多少行记录;(3)m= (2-1)*10+1=11,n=10,limit 11,10,表示从第11行开始取记录行(包含第11行),共取10行,也表示查询第2页的数据,这一页

2021-04-02 15:03:44 412

原创 软件开发流程

前言软件开发流程即软件设计思路和方法的一般过程,包括对软件先进行需求分析,设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编码和调试、程序联调和测试以及编写、提交程序等一系列操作以满足客户的需求并且解决客户的问题,如果有更高需求,还需要对软件进行维护、升级处理,报废处理。从管理的角度,即从业务和经济的角度来看,软件的生命周期包括四个主要阶段:(1)起始阶段(Inception)-- 有一个好的想法:具体构想出终于产品的设想和它的业务案例,确定项目的范围 。(2)细化阶段(Elaborat

2021-04-02 10:57:20 222

原创 数据库设计的六个基本步骤

按照规范设计的方法,考虑数据库及其应用系统开发全过程,可将数据库设计分为以下6个阶段,分别为:1.需求分析,2.概念结构设计,3.逻辑结构设计,4.物理结构设计,5.数据库实施,6.数据库的运行和维护。数据库设计通常分为6个阶段1(1需求分析:分析用户的需求,包括数据、功能和性能需求;2概念结构设计:主要采用E-R模型进行设计,包括画E-R图;3逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换;4数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径;5数据库的实施:包括

2021-04-01 15:54:50 44092

原创 使用Javadoc语法写好文档注释

简介Javadoc用于描述类或者方法的作用。Javadoc可以写在类上面和方法上面。很多程序对Javadoc都不重视,认识不到Javadoc的作用,很多人都是这样认为的:“我只要写好功能就够了,写Javadoc太浪费时间,也没啥作用,还不如用写Javadoc的时间再多些个功能呢!”,我们知道注释是为了解释代码的作用的,是为了将来给自己或者别人快速了解代码的,在方法内一般用行注释//的比较多,是针对一小块代码做出解释的,而Javadoc的作用是针对整个方法或者整个类做一个简要的概述的,使得别人不通过看具体

2021-04-01 10:53:05 355

原创 正确使用日志的技巧

选择正确的Log开源框架在代码中为了知道程序的行为的状态, 我们一般会打印一条日志: log.info("Happy and carefree logging"); 在所有的日志框架中, 我认为最好的是SLF4J. 比如在Log4J中我们会这样写: log.debug("Found " + records + " records matching filter: '" + filter + "'"); 而在SLF4J中我们会这样写: log.debug("Found {}

2021-03-31 14:56:10 617

原创 Log4j与commons-logging配合使用

为什么要用日志(Log)?这个……就不必说了吧。为什么不用System.out.println()?功能太弱;不易于控制。如果暂时不想输出了怎么办?如果想输出到文件怎么办?如果想部分输出怎么办?……。为什么同时使用commons-logging和Log4j?为什么不仅使用其中之一?Commons-loggin的目的是为“所有的Java日志实现”提供一个统一的接口,它自身的日志功能平常弱(只有一个简单的SimpleLog?),所以一般不会单独使用它。Log4j的功能非常全面强大,是目前的首选。我发现几乎所有

2021-03-31 14:24:15 568

jdk-16_doc-all.zip

JDK16的API文档(网页版)

2021-04-06

commons-pool2-2.9.0.zip

一般作为commons-dbcp2的依赖库,版本为2.9.0

2021-04-02

commons-dbcp2-2.8.0.zip

数据连接池框架DBCP2,版本为2.8.0,其需要依赖库commons-pool2

2021-04-02

commons-logging-1.2.zip

一个通用的日志框架,主要用于配合其他的日志框架一起使用

2021-04-02

log4j-1.2.17.zip

1.x系列的log4j日志库,版本为1.2.17,停止更新于2012年5月,应该是1.x系列的最新版本。

2021-04-02

C++:Qt 5.11的安装

博文“C++:Qt 5.11的安装”的图片系列

2018-11-16

C++:发布Qt程序

博文“C++:发布Qt程序”的图片系列

2018-11-16

空空如也

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

TA关注的人

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