Java
文章平均质量分 52
如漩涡
普通程序员
展开
-
Java MongoDB 多联查询
Java MongoDB 多联查询前言联表Select列表结构生成管道前言我使用的是spring包里的mongoTemplate进行操作Mongo,那基本单表的操作满足日常需求了;但是难免会有要联表操作的时候,mongo-data包里提供了一种Aggregation类,可以理解为建立管道。联表LookupOperation这个类就是用来进行联表操作的类,具体方法:newLookup ,用来创建一个LookupOperation.Builder;from, 要连接哪张表,类似Mysql的JOIN原创 2022-03-29 16:42:57 · 2496 阅读 · 0 评论 -
Java XML解析工具类
Java XML解析工具类Java解析XML的方式有很多,这里不一一说明了,利用三方jar包,实现了一个XML工具类本身是有个需求,讲三方公司的XML请求文件中的Response里的属性赋值成java对象,没做完不需要了,只做到了解析,后续本来想利用解析出来的key进行遍历,利用FTL模板生成Java文件,有这个需求的小伙伴可以延续这个工具类。1. 看看XML<?xml version="1.0" encoding="utf-8"?><!--每个协议有Request或Resp原创 2021-06-10 18:31:17 · 7471 阅读 · 1 评论 -
java 七牛云图片上传以及链接加密
java 七牛云图片上传以及链接加密这里简单说明java代码,对于七牛云的对象存储开通以及鉴权不贴图,可以上七牛云文档中查看七牛云通过字节上传图片/** * 字节流上传图片 * * @param uploadBytes * @return 外键地址 */public String upLoadImage(byte[] uploadBytes) { Configuration cfg = new Configuration(); UploadManager uploadM原创 2021-01-11 17:35:37 · 1176 阅读 · 0 评论 -
java 通过反射遍历所有字段修改值
java 通过反射遍历所有字段修改值,避免重复set、get比如一张表里的字段十几个,而这个表里的图片存储字段有八九个,在返回这个实体类的时候,要对图片进行加密或者其他操作,那就要在实体类查询结果出来后,一个个的get修复,再set赋值,代码量很多,另外如果有多个接口用到,就会产生重复代码;通过java 的反射,遍历所有字段,进行一个判断,取出来的值是带有图片链接的,进行操作,省去了很多代码,下面贴代码import org.slf4j.Logger;import org.slf4j.LoggerF原创 2021-01-11 17:25:59 · 1361 阅读 · 2 评论 -
Java jar打包成exe应用程序(超详细)
Java jar打包成exe应用程序,可在无JDK/JRE环境下运行前言近期做了一个前后端合并的spring boot项目,但是要求达成exe文件,提供给不懂电脑的小白安装使用,就去研究了半天,踩了很多坑,写这篇文章,是想看到这篇文章的人,按照我的步骤走,能少踩坑。准备准备工作:一个jar包,没有bug能正常启动的jar包exe4j,一个将jar转换成exe的工具,链接:https:...原创 2020-02-04 01:07:18 · 62234 阅读 · 55 评论 -
Java封装OkHttp3工具类
Java封装OkHttp3工具类,适用于Java后端开发者说实在话,用过挺多网络请求工具,有过java原生的,HttpClient3和4,但是个人感觉用了OkHttp3之后,之前的那些完全不想再用了。怎么说呢,代码轻便,使用起来很很很灵活,响应快,比起HttpClient好用许多。当然,这些是我个人观点,不喜勿喷。准备工作Maven项目在pom文件中引入jar包 <...原创 2019-12-04 15:03:55 · 3962 阅读 · 5 评论 -
Sql查询主键名称以及类型
JDBC查询表主键名称适用oracle,mysql public static void getTablePk(Dbconfig dbconfig){ Connection connection = getConnection(dbconfig); try { ResultSet rs = connection.getMetaDat...原创 2018-06-22 15:43:12 · 5339 阅读 · 0 评论 -
Java 删除文件以及文件夹删除不了的问题
问题所在今天在编写一个项目,流程是先创建一个临时文件夹存放生成的文件,再经过压缩导出,待导出成功后删除临时文件夹,但是怎么也删除不了,还以为是写的删除方法有问题,找来找去,试了很多方法也删除不了本来以为是打包的流没关闭,但是发现流都是关闭的,后来发现,是在生成的方法里,直接new FileWriter出来的,没有关闭,在这里提醒一下,关于操作文件或者文件夹一定都会用到流,所以用到的流一...原创 2018-06-10 00:01:20 · 9140 阅读 · 3 评论 -
对导入的excel进行判断是否正确
需求在一次导入项目中,对excel进行一个判断,不能什么excel都能导入,这样容易导致后台报错,前端做对是否是excel文件进行过滤,那后台就进行excel文件内容的校验,来判断是不是所属excel,下面用Java来举个例子。实现首先要把excel解析出来,每一行为一个List,同时又被一个最大的List包裹,我以我的项目为例,大家参考,因为我觉得每一行一个list好操作Li...原创 2018-06-19 17:27:32 · 8841 阅读 · 1 评论 -
java 将数据库字段名、所属表、字段类型封装成对象
前言 之前写过一个JDBC工具类,里面有获取所有表名、字段、字段类型等(还在不断更新功能中…),之前项目有个需求,前端人员将一个关联表id给我,我查出有存储多少个表名,在把这些表的字段和类型都集合在一起返回给他,每个字段、字段类型都有边上跟着一张表,那好,我就封装了一个对象返回,接下来实践一下。返回对象/** * @Author: ChenBin * @Date: 2...原创 2018-07-04 17:25:55 · 4711 阅读 · 0 评论 -
Java 手写一个SQL分页
Java手写一个类似PageHelper的分页SQL 目前分页插件众所周知的莫过于和mybatis完美融合的PageHelper了,简单两行代码就实现了sql分页,配合PageInfo类,将数据总数量,页数页码以及分页结果集等前端需要的信息都配齐了;但是!!! 一个项目不能一直用到mybatis的,总有用到JDBC的时候,PageHelper不对手写的JDBC代码分页,那这个时候只好动...原创 2018-07-27 20:57:23 · 4579 阅读 · 0 评论 -
JDBC模拟mybatis对象映射赋值
Java 模拟mybatis映射实体类使用mybatis也有一段时间了,它的强大也是众所周知的,但是有一定的局限性,比如要不同数据库要多数据库源配置,本人就试想用JDBC的话,能否实现mybatis一样的效果答案是能的,利用Java的反射功能...原创 2018-12-13 21:22:28 · 864 阅读 · 0 评论 -
Spring Boot定时发送短信
Spring Boot定时发送短信的两种方式不少项目中估计都有遇到定时发送这个梗,我也遇到了,页面中下拉框选项有立即发送以及定时发送,立即发送就不用说了,定时发送可以讲一下,定时的方式有很多种,Java自带的定时器,Spring的定时器,大致讲一下我做的时候思路1. Java自带的定时器java.util包里的Timer,它也可以实现定时任务但是功能过于单一所有使用很少,而还有一个类Sche...原创 2019-01-16 22:13:17 · 6255 阅读 · 0 评论 -
Java excel导出的时候文件名乱码解决方案
问题最近做的一个数据导入项目,在chrome浏览器中导出的excel文件名没有出现中文乱码的情况,在测试IE浏览器的时候,导出的文件名乱码了解决这个是原来的代码try { response.setContentType("application/vnd.ms-excel;charset=UTF-8"); response.setC...原创 2018-06-12 09:20:44 · 17412 阅读 · 7 评论 -
Java 基于okhttp3实现上传下载
简介HttpClient是基于okhttp3实现的文件管理工具客户端,实现与File Browser进行数据交互,包括文件上传、下载、查看等功能。当前版本:0.0.1该工程实现了创建文件夹、创建文件、删除文件夹、~~删除文件~~、上传、下载。目前已经测试过的文件类型有: *.docx*.xlsx*.pptx*.png*.jpg*.txt*.pdf*.zip*.mp4...原创 2019-04-28 11:46:39 · 6042 阅读 · 2 评论 -
解决LInux系统下DES加密报错
错误描述原先有一个加密解密工具类在博客里,在项目中也是运用这个工具类来实现对数据进行了加密,但是出现了一个问题。问题就是在本地windows测试的时候完全正常,但是把项目部署到服务器上去的时候,在解密环节出现了错误错误描述javax.crypto.BadPaddingException: Given final block not properly padded 不知道这个是什么错...原创 2018-05-14 16:55:07 · 1999 阅读 · 0 评论 -
String format的使用
String.format()这个方法可用于字符串自动补位,例如有四位数字,从0001开始到0002递增+1,普通一点的办法,可以用for循环的方式,进行递增之后转成字符串,再字符串前补字符“0”,但是代码量太多,利用String.format就可以实现数字+1以及补“0”等操作举个例子:现在要生成一段河流编码,河流编码由三位水系编码、四位数字、一位类型编码、一位序号编码组成,共九位,原创 2018-01-25 11:10:18 · 933 阅读 · 0 评论 -
Java 将内容输出成文件
文件操作类有很多种,个人现在使用的是“BufferedWriter”这个类进行操作,这个类操作起来很方便,看代码:定义一个路径:private String path="d:\\aa.xls";表明要在D盘根目录下生成一个叫“aa”的excel文件定义一个“BufferedWriter”类的对象:private BufferedWriter writer;接着就可以操作了,例如,将想要的内容,存入...原创 2018-02-09 18:40:51 · 796 阅读 · 0 评论 -
Java 利用反射类操作其他类
反射的概念:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.反射就是把jav原创 2018-02-05 17:53:41 · 487 阅读 · 0 评论 -
Java 获取包路径的小技巧
/** 项目在硬盘上的基础路径 */private static final String PROJECT_PATH = System.getProperty("user.dir");/** 获取当前类的路径 com.example.CodeGenerator.core*/private static String packAge = ProjectConstant.class.getPack...原创 2018-03-05 16:42:31 · 5112 阅读 · 0 评论 -
Java 自制流域、水系、河流编码生成工具类
/** * 自制工具类 * @author chenbin on 2017/12/20 * @version 3.0.0 */public class HzzCodeUtil { /** * 生成流域编码 * @param code 传入数据库中最大一位的流域Code,若无传入"" 或者null 则会从第一位 例如“A”开始生成 * @re...原创 2018-03-06 08:53:01 · 729 阅读 · 0 评论 -
获取Liunx或Windows下面的本地IP地址
import java.net.InetAddress;import java.net.NetworkInterface;import java.util.Enumeration;/** * 自制工具类 * 用于获取windows与linux系统下的ip地址 * @author chenbin on 2018/02/28 * @version 3.0.0 */public cla...原创 2018-03-06 08:56:47 · 290 阅读 · 0 评论 -
Java设计模式之责任链模式
Java的设计模式有很多种,分说一下Java的责任链模式 责任链模式就是有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一个对象决定处理该请求,所以责任链模式可以实现,在隐瞒客户端的情况,对系统进行动态的调整通俗的表达责任链中国古代对妇女制定了“三从四德”的道德规范,“三从”是指“未嫁从父,既嫁从夫,夫死从子”。也就是说,一位女性...原创 2018-04-30 22:45:09 · 244 阅读 · 0 评论 -
Java设计模式之责任链模式(二)
在上一篇文章中详细的介绍了什么是责任链模式,或许Demo做的有一些些深,创建的类也比较多,为了让刚入门Java的同学能更容易理解,小生重写一个更为清晰的Demo(大神绕道)还是上一篇文章的逻辑,此处强调一点就是,链接上的请求可以是一条链,可以是一个树,还可以是一个环,模式本身不约束这个,需要我们自己去实现,同时,在一个时刻,命令只允许由一个对象传给另一个对象,而不允许传给多个对象。...原创 2018-04-30 23:16:40 · 331 阅读 · 0 评论 -
JDBC工具类
封装了一个工具类,用于JDBC操作MySql数据库,获取某个数据库下的所有表名,某个表中的所有字段名称、字段类型、字段注解等使用坏境JDK: 1.8 or 1.7Maven: 3.x.x使用步骤1. Maven项目或是Spring Boot项目在pom.xml文件中引入mysql-connector-java.jar这个依赖包,不是的需要去下载这个包加入项...原创 2018-05-01 11:07:05 · 448 阅读 · 0 评论 -
Java 数据导入导出
前言 之前在博客中有一篇是利用POI封装的一个Excel导入导出的框架,由于最近自己也在弄。只是封装的框架用不上,因为字段这些都是动态生成的,没有实体类加注解,所以重新做了一个,比较简单。本来不太喜欢把介绍什么的说的太多,大家可以去POI官网看文档,也可以去这个博客说的还是比较明白的《JavaWEB–POI之EXCEL操作、优化、封装详解系列(一)–概述与原理》直接上工具类...原创 2018-05-09 16:57:04 · 2917 阅读 · 1 评论 -
Java加密解密工具类
工具类作用域 现在不管web或者后端的一些项目里,难免要对数据进行加密,往简单了讲,前端要将用户的密码传送到后台数据库进行保存,后台保存的肯定不能是明文,要在插入数据库之前,将传入的密码进行一次加密,再存入到数据库里由于接触到的项目有这么一个要求,超级管理员在页面填写的数据库帐号密码要保存到后台,保存的不能是明文,要是密文,如果取出的话先进行解密再返回前端,于是这个工具类就产生了。...原创 2018-05-05 20:25:43 · 3410 阅读 · 0 评论 -
JAVA中&&和||两种符号
&&可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会原创 2018-01-25 11:09:39 · 60144 阅读 · 1 评论