随笔分类 - Java
Java语言相关
摘要:公司最近的新项目使用的是JPA,迫于之前没有使用过,因此作成一个快速上手手顺 介绍 JPA 又叫 Spring Data JPA,是spring组件的一部分,相比 mybatis 来说,可以认为是一个全自动 ORM 框架 快速开始 创建一个springboot工程,引入web,mysql drive
阅读全文
摘要:Spring Web 项目添加验证码功能 最近在学习公司新项目,此文作为学习记录,方便以后使用。 添加依赖 <!-- 验证码 --> <dependency> <groupId>com.github.axet</groupId> <artifactId>kaptcha</artifactId> <v
阅读全文
摘要:问题:姓名中的生僻字查询显示问号? 再现环境: 数据库:Oracle Database 12c 后端:JDK 1.8,mybatis 姓名字段使用的是VARCHAR2 保存生僻字䶮,数据库可视化工具显示为?,mybatis查询出来同样显示? 解决方法(已验证) 修改保存姓名的字段类型为NVARCHA
阅读全文
摘要:新项目开发小点 最近开了一个新项目,过程中解决了一些小问题,随手记录一下。 统一异常处理 后台出错时返回一个统一的结果,并把错误信息传到前端。 Spring AOP统一异常处理 /** * 统一异常处理 */ @ControllerAdvice public class ExceptionAdvic
阅读全文
摘要:SQL&Java List 转 树 一般来说,像地区、单位这种数据,一般都是树状结构,但是从数据库查询出来的时候是list,所以就需要把list数据转换成tree数据。 查询的SQL 对oracle数据库来说查询树结构很简单,只需要使用start with就可以: select * from 表名
阅读全文
摘要:2021/11/4 更新,可以使用maven-shade-plugin插件解决,更方便并且不用单独下载jarjar.jar处理。 见这篇博客 先说遇到的问题: 项目本身使用了 Apache poi 3.17 作为excel导出的依赖(既存功能),后来又引入了word生成工具poi-tl 1.10.0
阅读全文
摘要:Java 根据模板生成Word 书接上文,要做的功能其实是把条形码word文档下载,在生成条形码之后,就是写入word。(条形码生成见此文章) 本文没有采用原始的poi,而是使用了poi-tl,一个poi的封装,可以更好的根据模板生成word文档。 首先是maven依赖: <!-- 截止2021-1
阅读全文
摘要:WebService接口调用(CXF框架) maven中添加cxf依赖: <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.4.4</ver
阅读全文
摘要:XML XML出现的原因就是为了解耦,结果后来一大堆xml配置文件让人头大,现在又开始使用注解这种紧耦合的方式,真是合久必分,分久必合。 基本语法 xml一般作为配置文件,并且大小写敏感。 其声明为:<?xml version="1.0" encoding="UTF-8" ?>代表这是一个使用UTF
阅读全文
摘要:通过Mybatis插件修改SQL 前言:在PostgresSQL数据库中,比MySQL多一个Schema的功能,相当于是数据库下面又分了一层,一个库里面可以有多个schema,不同schema下面可以由名字相同的表。如果需要全局修改schema就可以使用Mybatis插件的形式来实现同一套SQL去查
阅读全文
摘要:# Java获取resource目录下文件 工作的时候需要读取resource目录下的文件,在此记录一种不会因打包方式影响的读取方法(直接写路径有可能会因为打jar包或者打war包而失效)。 **2021/01/11 更新** 如果是在Spring环境中,可以使用org.springframewor
阅读全文
摘要:IDEA Getter/Setter 方法名不正 现象 IDEA自动生成Getter/Setter方法时,如果字段是布尔值并且以is开头,生成的方法会不带Is。 举个例子: 现在有一个Human类,有一个布尔类型的isStudent字段 public class Human { private Bo
阅读全文
摘要:Spring中@Transactional失效 Spring中的声明式注解@Transactional很大程度的方便了开发者进行DB数据保存。但是在一些特殊情况下,可能会造成注解不是按想定的方式生效,这里说几种可能造成的几种情况。 常见的几种情况: 异常被捕获 这是一种比较简单不过稍不注意也可能会犯
阅读全文
摘要:使用Optional解决长调用链NPE问题 Java NPE即Null Pointer Exception,如果一次的调用链很长,一旦中间出现了null就很难判断是哪一层为null了。(羡慕Kotlin有?.这种调用) 举个例子,现在有一个简单的类: public class Simple { Li
阅读全文
摘要:初识WebMagic 用Java爬虫的话就不得不提Webmagic这个框架,这次来用Webmagic爬取自己的博客所有文章标题 WebMagic是一个简单方便的Java爬虫框架,其主要结构有下面四个部分组成: Downloader:Downloader负责从互联网上下载页面,以便后续处理。WebMa
阅读全文
摘要:Dubbo RPC即Remote Procedure Call,即为远程调用。这和Java的远程代理RMI有点类似,不过RMI只能在Java系统之间进行调用,并且是使用序列化对象的方式进行通信。相比之下,RPC模式的Dubbo性能更高一些,由于使用HTTP进行通信,因此可以在不同语言的服务之间进行调
阅读全文
摘要:SSM 整合 SpringMVC、Spring、Mybatis整合 maven项目打war包并引入依赖,并添加静态资源: 依赖及静态资源 <dependencies> <!-- 单元测试 --> <dependency> <groupId>junit</groupId> <artifactId>ju
阅读全文
摘要:Spring MVC Spring MVC 说是框架,对Tomcat来说其实就是一个Servlet,关于如何从上古时期的Servlet演化到如今的SpringMVC的,可以看看这篇博文:Spring MVC是如何逐步简化Servlet的编程的 业务分层之后既方便解耦,条例也更清晰。因此对于后台web
阅读全文
摘要:Spring之AOP AOP 全程Aspect Oriented Programming,直译就是面向切面编程。和POP、OOP相似,它也是一种编程思想。OOP强调的是封装、继承、多态,也就是功能的模块化。而AOP则是OOP的补充,它强调的是切面,在运行时动态地将代码切入到类的指定方法、指定位置上的
阅读全文
摘要:Spring之IoC 概念 IoC:Inversion of Control,中文通常翻译为“控制反转”,它还有一个别名叫做依赖注入(Dependency Injection)。但实际上依赖注入控制反转的一种表达方式(还有一种叫依赖查找)。什么是控制反转呢,简单来说就是本来上层建筑依赖下层建筑,下载
阅读全文