自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿劼

才疏学浅,请多多指教

  • 博客(87)
  • 资源 (1)
  • 收藏
  • 关注

原创 Shiro加密

shiro md5 加密 java.lang.IllegalArgumentException: Odd number of characters

2020-01-09 10:31:53 542

原创 Django后端利用xlrd模块处理前端传回的表格

Django 文件上传 表格读取 xlrd

2019-12-17 17:17:15 527

原创 POI读取doc、docx文件

1.明确几个概念:Range:它表示一个范围,这个范围可以是整个文档,也可以是里面的某一小节(Section),也可以是某一个段落(Paragraph),还可以是拥有共同属性的一段文本(CharacterRun)。Section:word文档的一个小节,一个word文档可以由多个小节构成。Paragraph:word文档的一个段落,一个小节可以由多个段落构成。CharacterRun:具有相...

2019-12-17 15:30:11 5188

原创 Django+mysql项目启动时的几个错误

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb',django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.AttributeError: 'str' object has no attribute 'decode

2019-09-12 15:47:48 404

原创 使用Django时的一个神奇异常:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 0: invalid sta

利用pycharm新建了一个Django项目,进去以后什么都没动,直接运行看项目是否正常,这时候一个神奇的异常:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 0: invalid start byte很明显的异常对不对,编码格式问题啊,那就设置里改呗setting-editor-File Encodi...

2019-09-10 16:11:18 2252

原创 Authentication plugin 'caching_sha2_password' is not supported问题

使用客户端链接mysql数据库,如果数据库版本高于8.0,可能出现以上问题,因为8.0以前默认使用mysql_native_password身份验证机制,8.0以后使用caching_sha2_password方式解决1:登录数据库,执行命令ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root用户...

2019-09-06 15:35:34 4598

原创 解决pymysql和mysql-connector无法导入的问题

python3中操作mysql数据库有利用pymysql和mysql-connector两种形式,本地安装形式为,在命令框中执行:python -m pip install mysql-connector #安装mysql-connectorpython -m pip install pymysql #安装pymysql本地python IDE使用pycharm,在文件中import...

2019-09-06 14:25:07 5691 3

原创 常用的内建式函数式接口

常见的内建式函数式接口

2019-05-12 10:22:40 238

原创 正则表达式

正则表达式简介与简单的邮箱格式检验

2019-05-12 09:41:30 185

原创 Netty应用:一个简单的C/S通信模型

利用Netty实现一个简单的通信模型

2019-05-12 09:19:40 679

原创 关于Netty的一点小知识

Netty的一些知识点

2019-05-12 09:00:23 147

原创 简单的NIO通信模型:实现服务器与客户端通信

利用NIO实现一个简单的C/S通信模型

2019-05-12 08:43:50 573

原创 简单的BIO通信模型:实现客户端与服务器端通信

利用BIO实现一个简单的C/S通信模型

2019-05-12 08:26:50 628

原创 利用 GitHub 的 Pages 搭建自己的网站

利用github的Pages搭建一个自己的网页

2019-04-01 09:50:24 383

原创 Mybatis的缓存使用

关于什么是缓存,为什么要有缓存之类的问题这里不做阐述,本文仅对mybatis缓存在实际中的应用进行分析。**1…一级缓存:**本地缓存,sqlsession级别的一个缓存,基于map实现,是一直开启的·一级缓存失效的四种情况:|-sqlsession不同|-sqlsession相同,语句不同|-sqlsession相同,但是两次查询之间进行了增删改操作|-sqlsession相同,但是...

2019-03-29 17:26:09 198

原创 Mybatis的Association查询和Collection查询

Mybatis是一款性能优异的半自动化ORM框架,而在实际应用中一对一和一对多的联合查询应用广泛,本文将探讨怎样利用Mybatis实现以上两种联合查询。1.数据库表结构表address:表schoolclass表student由表结构可知,当查询某个学生信息时,就会用到Association查询,查询某个班级学生信息时,会用到Collection查询,以下就以上两种场景,看看Myb...

2019-03-29 17:04:55 230

原创 序列化与反序列化

序列化就是将一个对象转换成字节序列,方便存储和传输。序列化的类需要实现Serializable接口,它只是一个标准,没有任何方法需要实现,但是如果不去实现它的话而进行序列化,会抛出异常。·序列化:ObjectOutputStream.writeObject()·反序列化:ObjectInputStream.readObject() ·应用场景: |- 将对象存储起来 |...

2018-08-27 14:30:25 177

原创 随机访问流

RandomAccessFile:随机访问流,RandomAcceFile对象内部维护了一个大型的byte数组,通过指针操作数组中的元素,该对象的源或目的只能是文件 构造函数:RandomAccessFile(String name, String mode),其中mode为访问限定,“r”表示只读方式,“rw”读写方式,“rws”,“rwd”特有方法:·getChannel()...

2018-08-27 13:58:28 173

原创 序列流

SequenceInputStream:几个输入流的逻辑串联,从第一个流的开始一直读到最后一个流的末尾,可以操作多个数据源,可用于碎片文件的合并 构造函数: |- SequenceInputStream(Enumeration<? extends InputStream> e),可以用Vector(效率较低),Collections.enumeration实

2018-08-26 17:43:14 200

原创 Properties集合

Properties集合:基于Hashtable,该集合中的键值对都是字符串类型,集合中的数据类型可以保存到流中,或者从流中获取,该集合是线程安全的。1.应用场景:通常该集合用于操作以键值对形式存在的配置文件。 2.存储/修改:setProperty() 3.获取:利用Set集合的获取,Set< String> s = 对象.stringPropertyNames()...

2018-08-26 17:06:45 123

原创 File类

File类:用来将文件或文件夹封装成对象,方便对文件与文件夹的属性进行操作,File对象可以作为参数传递给流的构造函数。 ·获取方法: ·getName():获取文件名 ·getAbsolutePath():获取文件的绝对路径 ·getPath():获取文件的相对路径 ·length():返回此抽象路径名表示的文件的长度,如果此路径名表示目录,则返回值未...

2018-08-26 00:17:09 229

原创 转换流

转换流:·InputStreamReader:将字节流转换为字符流·OutputStreamWriter:将字符流转换为字节流·使用场景: |-- 源或者目的对应的设备是字节流,但是操作的却是文本数据,可以使用转换作为桥梁。 |-- 提高对文本操作的效率·一旦操作文本涉及到具体的指定编码表时,必须使用转换流。一、InputStreamReader的简单使...

2018-08-25 23:30:06 133

原创 常用字节流

一、利用字节流实现媒体文件的拷贝: public static void copyMedia() throws IOException { long l1 = System.currentTimeMillis(); FileInputStream fis = new FileInputStream("d:\\往南.mp3"); FileO...

2018-08-25 22:32:33 172

原创 常见字符流

字符流的由来:字符流读取文字字节数据以后,不直接操作而是先查指定的编码表,获取对应的文字,再对该文字进行操作,简单说字符流就是字节流+编码表。所以对于文字的操作优先使用字符流。一、利用字符流实现文本文档的拷贝:较标准的异常处理格式public class CopyFileTest { private static final int BUFFER_SIZE = 1024; ...

2018-08-25 22:10:29 300

原创 IO概述

一、流的继承关系 二、流的分类1 按操作数据分:字节流、字符流 |-- 字节流可以处理任何类型数据,字符流只能处理字符相关数据类型2 按流向分:输入流、输出流3 按角色分:节点流(低级流)、处理流(高级流)/过滤流 |-- 例如字节流FileOutputStream,FileInputStream,低级流,程序直接与数据源相连 |-- 例如缓冲区流Buffer...

2018-08-25 21:31:58 184

原创 IDEA中的DBCP使用及问题解决

DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要3个包:commons-dbcp.jar,commons-pool.jar和commons-connections.jar,由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内...

2018-08-24 19:04:17 4536

原创 DAO层的异常处理模式

如果不考虑上层代码对于数据层的使用,在数据层出现的异常一般用抛出或捕获的方式处理,但是考虑到service层对数据的使用,异常应该包装后进行处理,处理模式如下: 1.在DAO层建立一个RuntimeException的子类,专门用于异常处理,该类只需有固定的序列号并利用构造器生成方法即可:public class DaoException extends RuntimeException...

2018-08-14 00:05:42 4802

原创 DAO设计思想的工厂实现及class.getClassLoader().getResourceAsStream()为null的解决

为了避免代码的耦合,DAO层使用工厂模式来实现。1.写一个配置文件daoconfig.properties,这里employee是我自己的一个表employeeDaoClass=jdbc.dao.EmployeeDaoJdbcImplement2.DAO接口:定义methodspublic interface EmployeeDao { //methods}3.DAO...

2018-08-13 23:50:16 4676 4

原创 用JDBC实现对大段文本和媒体文件的访问

1.对大段文本的访问在数据库中建立一个样表,有索引和数据列就好,对于列的数据类型选择Clob型的。 实现:将文本文件的内容存储到样表中,并读取到另一个文件中 注:关于JdbcUtils类看我的上篇文章:点这里 1.存储: public static void saveFile() throws SQLException { Connection conn = n...

2018-08-12 23:04:23 158

原创 IDEA配置JDBC程序

用IDEA编写一个较为常用的JDBC程序,配置相关环境及解决出现的问题。 程序如下:工具类:import java.sql.*;/** * 工具类 */final class JdbcUtils { // test是我自己的一个数据库,如果在本机操作的话,localhost:3306可以省略,即直接///的形式 private static String u...

2018-08-11 11:41:08 7176

原创 PriorityQueue

PriorityQueue是基于最小堆实现的,队列的元素根据其自然顺序排序 ,或者由队列构造时提供的Comparator 排序 ,具体取决于使用的构造函数。 优先级队列不允许null元素。 依赖于自然排序的优先级队列也不允许插入不可比较的对象。下面看一看PriorityQueue的基本属性与方法。1.基本属性与特点1.默认初始化大小为11 2.底层利用数组存储数据 ...

2018-07-19 20:33:32 165

原创 Collection接口下的一些其他子类

1.LinkedHashMapLinkedHashMap继承于HashMap,很多方法都是HashMap的方法,但是它的数据取得是有序的,即怎样的顺序插入就按怎样的顺序取出,底层用一个双向链表保证有序性。 ture表示按访问顺序排序(即插入152,取得152),false表示按插入顺序排序(即插入152,取得125) 默认构造函数中默认使用accessOrder=fals...

2018-07-19 20:07:00 3687

原创 HashMap

HashMap是基于哈希表的 Map 接口的实现,是Map接口下的一个极其重要的子类。本文来看看HashMap的一些知识。1.Hash表1.哈希表:以数组的形式保存元素,通过哈希算法确定元素的位置,哈希算法有多种。 2.常用的哈希算法:1.直接定址法 直接以关键字k或者k加上某个常数(k+c)作为哈希地址,即:h(k) = k + c,这种哈希函数计算简单。当关键...

2018-07-19 18:58:13 234

原创 Map集合综述

Map集合是java.util 中最常用的集合类,相比于List集合用可变数组的方式存储数据, Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。 本文来看Map接口的基本概念与方法。1.Map 中用于插入和删除元素的变换方法 // 从 Map 中删除所有映射 clear(); // 从 Ma...

2018-07-19 17:37:23 161

原创 LinkedList

LinkedList也实现了List接口,相对于ArrayList来说,它们的最大区别在于底层数据结构不同,LinkedList的底层是一个双向链表,这也决定了它的最大优点,那就是对于数据的修改比ArrayList更加方便快捷。 相对于ArrayList,LinkedList插入是更快的。因为LinkedList不需要改变数组的大小,也不需要在数组装满的时候要将所有的数据重新装入一个新的数组,类...

2018-07-19 16:49:38 3315

原创 ArrayList

ArrayList是List接口的一个子类,它在底层通过一个数组实现了数据的存储,相比于普通的数组而言,ArrayList的长度可变,这是它的一大优点。ArrayList中的数据是有序可重复的,下面来看看ArrayList的一些基本属性和方法。1.基本属性·通过查询源码可以看出其底层数组的默认初始化大小为10: ·其数组的扩容方式是扩大为当前数组长度的1.5倍 ...

2018-07-05 00:34:46 1072

原创 IDEA中常用函数的快捷键及自定义方法模板

今天偶然发现了IDEA中一些方法的快捷使用,分享一下:1.首字母组合可以联想到对应的方法,比如: ·输入psv联想到主方法 ·输入psf联想到用public static final 定义的一些参数 ·输入sout联想到输出方法System.out.println(); 其中soutp,soutm,soutv是输出带参的,大家可以自行试验。2.对于一些固定结构...

2018-06-21 12:04:53 9443 1

原创 杨辉三角

问题描述: 杨辉三角形,又称贾宪三角形、帕斯卡三角形、海亚姆三角形、巴斯卡三角形,在中国首现于南宋杨辉的《详解九章算术》得名,书中杨辉说明是引自贾宪的《释锁算术》,故又名贾宪三角形。目前《详解九章算术》和《释锁算术》都收录在大英博物馆所藏的《永乐大典》(个人感觉蛮耻辱的)。1.迭代实现看程序:public class BascaTriangleTest { pub...

2018-06-18 17:35:03 280

原创 费氏数列

问题描述: Fibonacci为1200年代的欧洲数学家 , 在他的着作中曾经提到 :若有一只免子每个月生一只小免子,一个月后小免子也开始生产。起初只有一只免子,一个月后就有两只免子,二个月后有三只免子,三个月后有五只免子(小免子投入生产)......。这就是Fibonacci数列,一般习惯称之为费氏数列,例如以下: 1、1 、2、3、5、8、13、21、34、55、89....

2018-06-17 16:14:10 7134

原创 汉诺塔

问题描述: 据说创世纪时Benares有一座波罗教塔,是由三支钻石棒(Pag)所支撑,开始时神在第一根棒上放置64个由上至下依由小至大排列的金盘(Disc),并命令僧侣将所有的金盘从第一根石棒移至第三根石棒,且搬运过程中遵守大盘子在小盘子之下的原则,若每日仅搬一个盘子,则当盘子全数搬运完毕之时,此塔将毁损,而也就是世界末日来临之时。简单汉诺塔的迭代实现:public ...

2018-06-16 21:16:04 172

WordTest.java

博客中涉及的代码,欢迎大家下载指正,,,借鉴的文章在博文末尾已经给出,大家可以自行参阅,代码中新增了poiReadDocTest()方法,有对图片的处理

2019-12-17

空空如也

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

TA关注的人

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