3 SmileTimLi

尚未进行身份认证

上九天揽月,下五海捉鳖

等级
TA的排名 1w+

FastJson中JSONString与各个对象的的转换关系及API示例

前言JSON作为一种轻量级的数据交换格式,在我们日常的开发中使用十分广泛,就Java后端的开发工作中,JSON字符串与Java对象之间相互转换是常常遇到的操作。虽然平时用到的挺多的,但是因为用于JSON处理的包有很多种,每种工具集的功能和使用方式也都不同,很容易在使用时造成混乱。本文就结合FastJson部分源码,简单整理了下常用的API及其使用示例本文FastJson版本:1...

2019-12-04 14:32:16

Mybatis-plus 入门笔记(二)分页、更新、ActiveRecord

1、更新操作@RunWith(SpringRunner.class)@SpringBootTestpublic class UpdateMapperTest { @Resource private UserMapper userMapper; @Test public void test01() { User user = userMa...

2019-12-03 15:44:58

Mybatis-plus 入门笔记(一) 配置、查询、自定义查询

1、实体和数据库中对应@Table@TableId@TableField其中TableField2、排除非表字段的三种 a)在字段前家transit b) 设置字段为static,并添加get、set方法 c) @TableField(exist = false) 表示不是表中的字段3、配置文件spring: datasou...

2019-12-03 09:57:35

常用的正则表达式

一、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1...

2019-12-01 21:19:31

java8 函数式接口编程详解

java8 lambda 表达式详解lambada 表达式实质上是一个匿名方法,但该方法并非独立执行,而是用于实现由函数式接口定义的唯一抽象方法 使用 lambda 表达式时,会创建实现了函数式接口的一个匿名类实例 可以将 lambda 表达式视为一个对象,可以将其作为参数传递1. 函数式接口函数式接口是仅含一个抽象方法的接口,但可以指定 Object 定义的任何公有方法。以下是...

2019-12-01 09:56:58

Mybatis 实现分页拦截器

实体对象为page/** * 分页对应的实体类 */@Datapublic class Page { /** * 总条数 */ private int totalNumber; /** * 当前第几页 */ private int currentPage; /** * 总页数 */ private int totalPage; /** * 每...

2019-11-30 19:47:25

mybatis 实现接口式编程

通过动态代理实现接口式编程,避免手写命名空间和mapper中的 id出错相关的代码实现如下,简单的代码片段public class DBAccess { public SqlSession getSqlSession() throws IOException { // 通过配置文件获取数据库连接信息 Reader reader = Resources.getR...

2019-11-30 19:08:48

Mybatis 重写interceptor打印sql详细信息和执行时间

实现interceptor接口,实现打印mybatis数据库相关sql和执行时间import java.text.DateFormat;import java.util.Date;import java.util.List;import java.util.Locale;import java.util.Properties;import java.util.regex.Matc...

2019-11-30 16:16:14

Mybatis Interceptor 拦截器原理 源码分析

Mybatis采用责任链模式,通过动态代理组织多个拦截器(插件),通过这些拦截器可以改变Mybatis的默认行为(诸如SQL重写之类的),由于插件会深入到Mybatis的核心,因此在编写自己的插件前最好了解下它的原理,以便写出安全高效的插件。代理链的生成Mybatis支持对Executor、StatementHandler、PameterHandler和ResultSetHandler进行...

2019-11-30 16:10:23

docker-compose安装

二进制安装//指定版本安装:$ sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.23.1/\docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose//对二进制文件赋可执行权限$ sudo chmod ...

2019-11-28 23:58:58

Harbor安装

Harbor 简介Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。一、 安装环...

2019-11-28 23:57:01

Docker安装权威

一、Docker 简介Docker 是一个开源的容器引擎,它有助于更快地交付应用。Docker 可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker , 可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。 Docker 的官方网址链接:https://www.docker.com Docker 的 GitHub :ht...

2019-11-28 23:54:00

swagger注解的使用

Swagger简介由于架构革新,进入了前后端分离,服务端只需提供RESTful API的时代。 而构建RESTful API会考虑到多终端的问题,这样就需要面对多个开发人员甚至多个开发团队。 为了减少与其他团队对接的沟通成本,我们通常会写好对应的API接口文档。 从最早开始的word文档,到后续的showdoc,都能减少很多沟通成本,但随之带来的问题也比较麻烦。在开发期间接口会因业务...

2019-11-04 16:54:34

lombok注解相关说明

Lombok简介Lombok是一种Java™实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。插件安装由于Lombok采取注解形式,在编译后,自动生成相应的方法,所以需要下载插件来支持它。 以 idea 为例:查找插件lombok plugin安装即可。引入依赖<dependency> ...

2019-11-04 16:40:12

java8 时间的简单使用 5年后

/** * 5年后 */ @Test public void test01() { Calendar calendar1 = Calendar.getInstance(); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd"); calend...

2019-11-04 11:20:40

java8 新的日期api

简介Java 8中的时区操作被很大程度上简化了,新的时区类java.time.ZoneId是原有的java.util.TimeZone类的替代品。ZoneId对象可以通过ZoneId.of()方法创建,也可以通过ZoneId.systemDefault()获取系统默认时区:ZoneId shanghaiZoneId = ZoneId.of("Asia/Shanghai"...

2019-11-04 11:12:54

java8 stream api 一览表

List 转 Stream// 转streamlist.stream()// 并发处理list.parallelStream()filter(过滤)Stream<T> filter(Predicate<? super T> predicate);map(元素转换)<R> Stream<R> map(Func...

2019-11-04 10:23:29

解决mysql中出现的Err] 1205 - Lock wait timeout exceeded; try restarting transaction问题

解决问题1:mysql 命令行进入相应库先当前库的线程情况:输入命令:show full processlist; 显示如下show full processlist;显示如下:| Id | User | Host | db | Command | Time | State | Info | Progress |+--------+------+-----------...

2019-10-29 17:04:43

webstorm初次加载vue项目,提示缺少yarn

1、第一步:node是否安装验证在webstorm的terminal输入 npm -vnpm包管理器,是集成在node中的,所以安装了node也就有了npm2、安装cnpmnpm install -g cnpm --registry=http://registry.npm.taobao.org(完成之后,我们就可以用cnpm代替npm来安装依赖包了。如果想进一步...

2019-10-27 12:09:33

SpringBoot 使用ApplicationContext 及 getbean的两种方式

第一种:容器加载时设置public class ProxyApplication { public static void main(String[] args) { ApplicationContext applicationContext = SpringApplication.run(ProxyApplication.class, args); SpringContextUt...

2019-10-24 14:19:59

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。