4

MyBatis Generator 代码自动生成器,从此解放你的双手

前言在日常开发工作中,我们往往需要自己去构建各种数据表所对应的持久化对象(PO)、用于操作数据库的接口(DAO)以及跟 DAO 所绑定的对应 XML。这都是一些重复性的操作,不需要多大技术含量,这时候我们不禁会去想,有没有一种工具,能够帮助我们去自动生成这些文件呢?答案是:有的!本文接下来的内容主要适用于使用 MyBatis 来做持久层框架开发的工作,如果不是使用 MyBatis,那么可能本文不太适合你的开发场景。MyBatis Generator 简介作为一个基于 MyBatis 的独立工具,MyBatis Generator 能够满足我们以上的要求,能够通过简单的配置去帮我们生成数据表所对...

阅读全文>>

2

使用HttpClient多线程收集数据

public Map<String, String> main(){ try { PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); CloseableHttpClient httpClient = HttpClients.custom() .setConnectionManager(cm) .build(); Map<String, String> urlMap = new ...

阅读全文>>

2

Spring Boot+OAuth2,一个注解搞定单点登录!

需要先说一下,最近写的教程,都是成系列的,有一些重复的东西写来写去就没意思了,所以每一篇文章都默认大家已经懂了前面的内容了,因此下文有任何看不懂的地方,建议一定先看下相关系列:「Spring Security 系列:」挖一个大坑,Spring Security 开搞!松哥手把手带你入门 Spring Security,别再问密码怎么解密了手把手教你定制 Spring Security 中的表单登录Spring Security 做前后端分离,咱就别做页面跳转了!统统 JSON 交互Spring Security 中的授权操作原来这么简单Spring Security 如何将用户数据存入数据库?...

阅读全文>>

1

iText7实现PDF电子签章

  本文记录iText7实现PDF电子签章  提前准备  1、keystore文件,生成自签名证书,猛戳:SpringBoot系列——启用https打开cmd,执行以下命令 keytool -genkeypair -alias stamper -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore e:/Java/stamper.keystore -storepass 123456  2、印章图片,这里有个在线制作电子公章小工具:http://makepic.net/tool/signet.html  3、pom需要...

阅读全文>>

1

「Java工具类」java8时间日期工具类,整个项目有它就足够了

正文:先上工具类使用例子:System.out.println("2019-11-03=2019-11-04吗?答案是:" + Java8DatetimeUtil .equals(Java8DatetimeUtil.parseDate("2019-11-03"), Java8DatetimeUtil.parseDate("2019-11-04"))); System.out.println("当天日期字符串:" + Java8DatetimeUtil.today()); System.out.println("当天时间字符串:" + Java8Dat...

阅读全文>>

2

Jenkins 学习笔记

本学习笔记参考《Jenkins 2.x实践指南》。1. Jenkins 简介#Jenkins 是一款自动化的任务执行工具。通常用于持续集成/持续交付领域。可以通过界面或Jenkinsfile告诉Jenkins执行什么任务,何时执行。理论上,我们可以让它执行任何任务,但是通常只应用于持续集成和持续交付。持续集成将软件生产过程从手工模式带入流水线模式,软件生产的某个环节都对应流水线上的每个环节。流水线模式还能帮助我们将知识固化到自动化流水线中,在一定程度上解决了知识被人带走的问题。(手工模式对于整个软件生产流程很少有人全部知道,使用流水线模式整个软件生产的过程都以pipeline as code的...

阅读全文>>

2

Java的“泛型”特性,你以为自己会了?(万字长文)

使用Java的小伙伴,对于Java的一些高级特性一定再熟悉不过了,例如集合、反射、泛型、注解等等,这些可以说我们在平时开发中是经常使用到的,尤其是集合,基本是只要写代码没有用不到的,今天我们先来谈谈泛型。1. 定义在了解一个事物之前,我们必定要先知道他的定义,所以我们就从定义开始,去一步一步揭开泛型的神秘面纱。# 泛型(generics) 他是 JDK5 中引入的一个新特性,泛型提供了编译时类型安全监测机制,该机制允许我们在编译时检测到非法的类型数据结构。泛型的本质就是参数化类型,也就是所操作的数据类型被指定为一个参数 # 常见的泛型的类型表示 上面的 T 仅仅类似一个形参的作用,名字实际上...

阅读全文>>

2

分享BigDecimalUtil类

/** * @Title: * @Description: 数学计算 */ public class BigDecimalUtil { /** * 功能描述: <br> * 精确度 */ private static final int DEF_DIV_SCALE = 5; /** * 提供精确的加法运算。 * @param v1 加数 * @param v2 被加数 * @return 两个参数的和 */ public static BigDecimal su...

阅读全文>>

3

再见 Shiro!权限认证我选择 Sa-Token:简单、优雅

Sa-Token 介绍Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关问题。Sa-Token 的 API 设计非常简单,有多简单呢?以登录认证为例,你只需要:// 在登录时写入当前会话的账号id StpUtil.login(10001); // 然后在需要校验登录处调用以下方法: // 如果当前会话未登录,这句代码会抛出 `NotLoginException` 异常 StpUtil.checkLogin(); 复制代码至此,我们已经借助 Sa-Token 完成登录认证!此时的...

阅读全文>>

2

JAVA中直接用Jdbc就能操作数据库了,为什么还要用spring框架?

不过随着业务的扩展,你就会发现jdbc建立一个连接居然要几百毫秒,而执行一个普通的SQL仅仅需要几毫秒。这么重量级的资源建立了就释放了不合适,得找个容器存起来,谁要就来取,不用了就还给容器,毕竟容器里的借取比建立一个连接要快的多。这样的容器叫做数据连接池。小日子继续过,业务也越做越大,慢慢地你就发现了:这jdbc的接口也太粗暴了,有一大半的代码在往bean里塞数据,下标还是从1开始的。这时候你就会想,要不独立一层,专门处理把jdbc读取出来的数据塞进bean里吧。这一层就是DAO,data access object,比较出名的框架就是myBatis。公司越做越大,你也在不断尝试新鲜的技术,并...

阅读全文>>