自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 MySql随机生成一串不重复数字

利用MySql随机生成一串不重复数字在项目中我们可能用到一串数字作为标记,例如批次,淘宝的订单号,这些标记是不可以重复的,今天利用Mysql数据库简单生成一下:想到不重复我们第一时间想到时间戳,current_timestamp()这是MySql提供给我们的查看当前时间戳的方法。然后我们只需要把时间戳转换成一串数据就可以了。unix_timestamp(data)传一个时间戳参数,就可以获得一串数字。我们发现在同一秒钟时间戳是一样的,当在同一秒钟生成2个标识,就会出现重复,我们给生成时间戳的函数

2020-06-05 14:25:58 2805

原创 数据校验@Validated(解决javax.validation.ConstraintViolationException问题)

数据校验前言正文单个对象一组对象结束前言大多数项目中都需要后台对传过来的对象进行校验,比如手机号的位数,特殊字段不能为空等等。之前我们可能都是使用if…else…,今天我们了解一下validated正文单个对象想要使用validated需要引入Jar包,有两个方式,选择一种即可:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo

2021-07-12 17:46:42 7277 1

原创 双数据源启动报错: required a bean named ‘entityManagerFactory‘ that could not be found

项目配置双数据源问题问题解决思路结束问题新项目需要配置多数据源,之前配置过,我就直接接手。SpringBoot的版本为1.5.4,项目底层使用hibernate JPA。由于之前配置过,所以比较快速的配置完了,结果启动时发现项目报错。找不到entityManagerFactory,但是配置文件中我配置了两个工厂,但是都是取得别名。***************************APPLICATION FAILED TO START***************************De

2021-03-20 14:43:14 3659

原创 SSM项目整合多数据源

以双数据源为例前言正文结束前言前端时间写过一篇关于SSH项目整合多数据源,最近根据前例整合了一个SSM项目的多数据源,原理上还是一样的,但是SSM需要进行mybatis相关配置。正文首先还是需要配置两个数据源,这次使用的是mysql的两个不同的库,但是两个数据源一定要有区分,就像我的第二个数据源前缀加了slave。spring: datasource: jdbc-url: jdbc:mysql://localhost:3306/homeWork?&useSSL=false&am

2021-03-06 09:46:49 482

原创 Java实现基于TCP协议的Socket通信

项目之间利用Socket进行通信前言正文service端client端结束前言项目遇到需要利用socket向别的项目推送数据,由于对于socket接触较少,我的第一反应就是对面有服务端,然后我把数据写成流传过去就可以,对于数据的加密和数据头的封装,只要两边规定好就ok。查了半天资料,基于本地自己建了一个类似聊天服务的通信。正文首先本文是基于TCP,可靠的连接。使用socket,就要符合他的标准,大概分为几步:创建socket监听获取想要传输的数据流利用socket将数据流传输给对方获取对

2021-01-30 10:42:51 601 2

原创 HttpClients使用详情介绍

HttpClients介绍和使用详情前提正文get(httpGet)请求post(httpPost)请求delete(httpDelete)请求结束前提最近我所负责的项目需要向其他项目调用接口,用到了HttpClients实现请求调用。项目请求大多数分为get、post、put、delete,下面我们就分别介绍所对应HttpClients实现过程。正文get(httpGet)请求我们知道get请求大多数需要参数,并且以?的形势拼接在URL后面,所以需要两个参数(URL和param),当不需要参数时

2021-01-16 09:43:19 4625 1

原创 查询Mysql库中的时间比正常时间少1小时

夏令时前言正文结束前言今天实施找我提了一个关于时间的Bug,联系人的出生日期设置的为1987-06-02 00:00:00年,但是页面展示却是1987-06-01 23:00:00,少了1小时,本以为是个小问题,结果项目组讨论了半个小时。正文其实对于数据库缺少8小时大家都很常见,肯定是因为时区的问题,第一反应去连接数据库的配置文件中url是否写了serverTimezone这个参数,发现用的香港的时区,而且别人的日期是没有问题的,就不是它的问题。然后去排查数据库是不是设置了时间,查看数据库时区。

2021-01-07 18:21:43 2608 2

原创 Spring中Transactional事务管理器不可用(双数据源)

前言最近在双数据源项目中,在从数据源中添加事务的情况下,做多表的新增操作时,发现中途报错,事务并没有回滚,但是在主数据源是没问题,最后发现是双数据源的事务管理器问题。正文首先介绍一个Spring事务管理器@Transactional,在Spring项目下,大多数新增或者修改方法,我们都会在方法上添加事务管理器。介绍一下事务管理器的Propagation7中传播类型:REQUIRED(必需的):指定当前方法必需在事务环境中运行,如果当前有事务环境就加入当前正在执行的事务环境,如果当前没有事务,就新

2021-01-01 21:05:04 1229 1

原创 SSH项目整合多数据源

这里以双数据源为例前言正文前言现在有的项目需要取不同数据库的数据,这时就需要多个数据源。其实无非是在配置文件中配置多个数据源,然后在不同的场景读取不同的数据信息。本篇文章将以分包的方式配置双数据源正文首先我们需要配置两个数据源,下面是以Mysql和PostGresql两个不同的数据库为例,配置信息的前缀需要不一致,以区分不同的数据源。#主spring.datasource.jdbc-url=jdbc:mysql://${DATA_BASE_IP_NAME:}?useSSL=false&s

2020-12-17 17:31:04 687 1

原创 postgre统计数据用到的sql函数(分组,日期,判空)

前言最近项目中需要做统计,各种分组和取数逻辑,搞得头大,今天介绍一下,主要用到的三个函数(数据库为postgre)。需求介绍:需要统计30天内每家区域公司的每天的第一条数据的总数。代码首先查询所有的select c.company_code,h.calc_timefrom tb_hrmw_base_company c left join tb_hrmw_moni_company_interval h on c.company_code = h.company_code where c.level

2020-08-03 11:20:41 1529 1

原创 String、StringBuffer和StringBuilder三者的关系

前言昨天跟老大面试一个中级开发,前面聊得不错,问到java基础时,问了一个经典的问题:String类为什么是不可变的?回答到:因为这个类被final修饰了,所以不可变,然后就没了。老大苦笑一下,面试直接结束。String类是final的,这是毋容置疑的,但是这肯定不是面试官想听到的答案。回去我看了看String源码,想写写关于String、StringBuffer、StringBuilder这三者的关系。正文String类为什么是不可变的?看源码会发现,无论是String还是StringBuffe

2020-07-03 14:26:49 165

原创 手撸hibernate工具生成pojo类

前言最近更换了新项目组,持久层框架用的hibernate,项目中用的是基于hibernate封装JPA,JPA对于单表的增删改查真的好用。不愧是持久层框架,根本不用写SQL。但是pojo类需要手写真的太烦了,昨天一个表50个字段,快把手写废了,网上有好多Idea插件可以生产,还需要配置数据源,太麻烦了,直接手撸一个。思路pojo类无非就是把表名转换成类名,表里字段转成类中的属性(驼峰命名),根据数据库类型java类型转换,属性上添加相关注解,从数据库读取字段,写入在文件中。代码段import ja

2020-07-01 15:45:09 331

原创 Java设计模式——单例模式

单例模式今天看Spring IOC容器的源码,发现众多的单例模式,根据自己理解说说单例模式。单例模式的官方介绍:确保一个类只有一个实例,并提供一个全局的访问点。我们怎么才能控制只有一个实例?首先想要类的实例一般会通过new关键字,这使用了我们的构造器,当我们把构造器私有化,实例的创建就在我们手中,我们在创建一个全局的方法,在方法中返回一个实例就可以了。单例模式分饿汉模式和懒汉模式。饿汉模式:当虚拟机加载此类时,我就新建一个对象,但是此对象是static的,确保全局只有一份,创建一次后直接存放在

2020-06-08 15:28:30 178

原创 Java小常识&和&&的区别

Java小常识&和&&的区别在运算符上:& 可以作逻辑与运算符和整数的位运算符, && 只能作逻辑运算符。在使用中:&&为短路与,&不是短路与。具体代码介绍:&&的情况:最终输出结果为0,所以&&后面的代码并没有运行。&的情况:最终输出结果为java.lang.NullPointerException,当程序运行到&后面,str为null所以出现空指针异常。当用到equ

2020-06-04 09:42:11 210

空空如也

空空如也

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

TA关注的人

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