个人
SZ_紫衣
编程是一种修养!
展开
-
分库分表/哨兵模式/RabbitMQ/Redis持久化
1.分库分表:公司数据到达一定规模的时候,进行分库分表某些表到达一定规模后,建立索引也无法性能提升,这时我们会考虑把单表拆分应用层依赖类中间件这类分库分表中间件的特点就是和应用强耦合,需要应用显示依赖相应的jar包(以Java为例),比如知名的TDDL、当当开源的sharding-jdbc、蘑菇街的TSharding、携程开源的Ctrip-DAL等。2。哨兵模式哨兵 -》独立运行的进程@通过发送命令,让Redis服务器返回监控状态,包括主服务器和从服务器。@当哨兵监测到master宕机,原创 2021-08-15 14:31:54 · 626 阅读 · 0 评论 -
Java读取Properties文件和往Properties文件里面写内容
```javaimport java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.原创 2021-05-27 19:14:17 · 189 阅读 · 0 评论 -
java8特性流式去重,对list去重
去重问题简单的一个字段的去重,或者一个对象,按照对象中的几个字段去重。java8特性中的流式去重。简单元素去重:List<String> list= oriList.stream().distinct().collect(Collectors.toList());对象去重:AlipayNotifyImage实体类,transactionId、imageId实体对象中的两个字段。以两个字段一起去重List<AlipayNotifyImage> distinctClass原创 2021-04-02 11:25:14 · 566 阅读 · 0 评论 -
List的Stream流操作
原创 2021-01-05 17:56:18 · 377 阅读 · 0 评论 -
接收前端界面上传文件用到的MultipartFile类
MultipartFileMultipartFile是spring类型,代表HTML中form data方式上传的文件,包含二进制数据+文件名称。 --来自百度知道最近有个功能是接收前端界面上传的excel文件public static final String SEPARATOR = System.getProperty("file.separator");public static final String DIR_FILE = System.getProperty("user.dir") +原创 2020-12-18 15:31:49 · 2295 阅读 · 0 评论 -
Java自己写的工具类封装成jar包并在maven中添加依赖
将自己的写的工具类项目右键导出jar文件保存到自己设置的目录中打开cmd命令框输入并执行一下内容mvn install:install-file -DgroupId=com.xxx.test -DartifactId=util -Dversion=0.0.1 -Dfile=D:\file\com.xxx.jar -Dpackaging=jar–自行命名–解释下命令mvn install:install-file-DgroupId=com.xxx.test #这个是引用的包原创 2020-12-07 15:31:14 · 4716 阅读 · 3 评论 -
Java读取Excel数据内容,兼容excel2003和excel2007版本/xls后缀,xlsx后缀
Java兼容读取excel2003和excel2007版本的文件1.判断文件后缀名是xls,还是xlsx2.如果是xls,使用HSSFWorkbook;如果是xlsx,使用XSSFWorkbook以xlsx后缀文件举例。2003版本的xls文件测试也可以。import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.text.DecimalFormat;imp原创 2020-11-26 17:06:06 · 391 阅读 · 1 评论 -
JPA多条件动态复杂查询以及分页复杂查询
JpaRepository 接口拥有常用的 CURD 方法以及分页方法、字段排序等操作,但是没有与或非、like、以及大于等于、小于等于等操作,这些方法都在 JpaSpecificationExecutor 接口中。一 实体类import java.math.BigDecimal;import java.sql.Timestamp;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import java原创 2020-11-23 18:27:34 · 1408 阅读 · 5 评论 -
Error creating bean with name ‘jpaMappingContext‘报错解决
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build原创 2020-11-06 18:58:13 · 3373 阅读 · 2 评论 -
JPA命名规则 JPA使用sql语句
关键字方法命名sql where字句AndfindByNameAndPwdwhere name= ? and pwd =?OrfindByNameOrSexwhere name= ? or sex=?Is,EqualsfindById,findByIdEqualswhere id= ?BetweenfindByIdBetweenwhere id between ? and ?LessThanfindByIdLessThanwhere id < ?LessThanEq原创 2020-09-21 14:10:16 · 566 阅读 · 0 评论 -
Java生成HmacSHA256的方法
/** HmacSHA256加密* @param message 消息* @param key 秘钥* @return 加密后字符串*/public static String sha256_HMAC(String message, String key) throws Exception{ Mac sha256_HMAC = Mac.getInstance("HmacSHA256"); SecretKeySpec secret_key = new SecretKe原创 2020-06-29 14:24:38 · 924 阅读 · 0 评论 -
异常:Not supported for DML operations和异常Executing an update/delete query问题的解决
在JPA的代码中,如果使用自定义update、delete语句时,例如:@Query(value = "delete from ManagerHistoryData c where c.tranDate = ?1")void deleteBalanceByDate(LocalDate tranDate);会碰到”Not supported for DML operations [delete …的问题解决办法加上@Modifying注解@Modifying@Query(value = "d原创 2020-05-26 16:51:56 · 1890 阅读 · 0 评论 -
MySql数据类型对应到Java中的类型
原创 2020-04-22 18:22:56 · 170 阅读 · 0 评论 -
本地新建的项目同步上传到GitHub中
在已经安装了git客户端的前提下操作要用到的git命令git init //把这个目录变成Git可以管理的仓库 git add README.md //文件添加到仓库 git add . //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了 git commit -m "first commit" //把文件提交到仓库 git remo...原创 2020-04-02 12:21:09 · 149 阅读 · 0 评论 -
Ribbon实现负载均衡的机制算法
Feign通过接口的方法调用Rest服务(之前是Ribbon+RestTemplate),该请求发送给Eureka服务器(http://MICROSERVICECLOUD-DEPT/dept/list),通过Feign直接找到服务接口,由于在进行服务调用的时候融合了Ribbon技术,所以也支持负载均衡作用。...原创 2020-03-23 21:44:25 · 298 阅读 · 0 评论 -
eclipse报错:The project description file .project for 'microservicecloud-api' is missing
出现上面报错1.直接把工作空间的.metadata文件夹删掉,然后关掉Eclipse。打开重新导入项目即可。原创 2020-03-22 13:34:50 · 241 阅读 · 0 评论 -
不使用spring-boot-starter-parent的情况
在使用Spring Boot时,通常,首先需要继承spring-boot-starter-parent 这个parent<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId&...原创 2020-03-21 23:44:24 · 491 阅读 · 0 评论 -
spring cloud与spring boot各个版本之间的对比
Spring Boot需要依赖对应的Spring Framework版本Spring Cloud需要依赖对应版本的Spring Boot{ git: { commit: { time: "2019-02-13T00:09:40Z", id: "ad8814f" }, branch: "ad8814fc109b5aaaea99e9a148fb39843f45d42a"...原创 2020-03-21 23:18:48 · 517 阅读 · 0 评论 -
eclipse内置swagger。maven项目spring boot框架
1.添加依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> ...原创 2020-03-10 17:25:46 · 197 阅读 · 0 评论 -
spring、springmvc、springboot
Spring框架是一个大集合,也像一个大家族【可以到spring.io官网了解】。但家庭成员的基础都是基于Spring的IoC和AOP特性, IoC提供了依赖注入(DI)的容器,可谓是核心,AOP则提供了面向切面的编程方案,在前两者的基础上,继续演化升级实现了其他延伸产品的高级功能。内容提要Spring MVC是基于Servlet实现的一个前端MVC框架,主要解决WEB项目开发的问题。因为在业...转载 2020-01-10 15:23:28 · 194 阅读 · 0 评论 -
Java发送邮件已经测试成功的版本
首先maven项目下引入依赖<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version></dependency><dependency> &...原创 2019-12-13 15:51:04 · 636 阅读 · 0 评论 -
分组每天不同的客户号的最新一条
@Query(value = "SELECT t.* FROM (select * from capital_flow c where c.bill_date=?1 and c.stage=2 ORDER BY c.create_at desc limit 10000000000) t GROUP BY t.customer_code ",nativeQuery = true)List<C...原创 2019-12-10 17:26:48 · 122 阅读 · 0 评论 -
mybatis xml模糊查询、条件查询的写法
<?xml version="1.0" encoding="UTF-8"?><mapper namespace="com.uboxol.cloud.mermaid.db.mapper.CustomerComplaintMapper"><resultMap id="returnMap" type="com.uboxol.cloud.mermaid.db.enti...原创 2019-11-20 14:59:42 · 992 阅读 · 0 评论 -
java实体类型与mysql数据库对应的时间类型
两张图片任意选一个,可对比date:只有日期,没有时间,2016-09-21;time:只有时间,没有日期,23:42:31;datetime:日期时间都有,2016-09-21 23:42:31 。timestamp:可以在进行Insert或者update的时候自动的为你插入时间,时间格式:2016-09-21 23:42:31。...原创 2019-11-20 14:38:09 · 1814 阅读 · 0 评论 -
BeanUtils.copyProperties进行对象之间的属性赋值
介绍了对象之间的赋值,以及List<>对象之间的赋值public class User { private String name; private Integer age; public User(String name, Integer age) { super(); this.name = name; this.age = age; } public St...原创 2019-11-13 18:21:17 · 665 阅读 · 0 评论 -
Protocol Buffer 安装与使用
windows 安装 protocol buffer 之前,先要安装Maven并且mvn -version 验证安装成功下载protobuf 2.3.0 包:protoc-2.3.0-win32.zip和 protobuf-2.3.0.zip将两个包解压到某一目录 如:D:\dir\将D:\dir\protoc-2.3.0-win32中的protoc.exe拷贝到c:\win...原创 2019-08-07 17:25:59 · 141 阅读 · 0 评论 -
数组元素的初始化默认值
数组一旦初始化完成,其长度就确定了;数组的长度一旦确定,就不能修改了一维数组元素的初始化默认值整型:0浮点型:0.0char型:0或'\u0000' (而非'0')boolean型:false运用数据类型:null二维数组元素的初始化默认值,二维数据分为外层数组的元素,内层数组的元素方式一:int[][] arr = new int[4][3];外层元素初...原创 2019-08-07 12:59:39 · 3881 阅读 · 0 评论 -
求两个数的最大公约数和最小公倍数
Scanner scan=new Scanner(System.in);int m=scan.nextInt();int n=scan.nextInt();//12和20的最大公约数//12:1,2,3,4,6,12//20:1,2,4,5,10,20//所以最大公约数就是4,两个数的最大公约数一定不能比最小的数大。所以范围在最小的那个数,在第一次都能彼此除尽的时候就是最大...原创 2019-08-07 12:57:05 · 178 阅读 · 0 评论 -
Windows和Centos共享文件夹
Windows和Centos共享文件夹,有/mnt/hgfs但没有共享文件的解决方法:在安装完VMware Tools工具后,我们会想要在windows和centos共享文件夹,但是发现/mnt/hgfs文件加目录下并没有共享的文件夹,此时只需要执行一下命令就可以了1.直接桌面点击打开终端2.执行mount -t vmhgfs .host:/ /mnt/hgfs3.接着执行yum in...原创 2019-08-07 12:50:28 · 1595 阅读 · 0 评论 -
杀死端口进程
经常碰到端口占用要手动杀死的例如端口号8080被进程1234占用linux下:查看端口号所在的进程netstat -anp|grep 8080杀死进程kill -9 1234windows下:查看端口号所在的进程netstat -ano|findstr 8080杀死进程taskkill -f -pid 1234...原创 2019-08-08 19:28:38 · 194 阅读 · 0 评论 -
Linux删除用户报错,提示被进程占用,不能删除
今天删除用户时,第一次并没有愉快的删除掉,后来删除掉了1.执行命令userdel xm,说被进程5072占用2.kill命令杀死进程。之所以有这么多,是因为我频繁的更换用户名登陆的原因3.最后再执行userdel xm,就成功把小明删除了4.但是这里我用的不是userdel -r xm命令,所以还是保留xm的家目录的,所有cd /home执行后还是有xm的目录的**(userdel -r ...原创 2019-08-08 19:17:16 · 7665 阅读 · 0 评论 -
Xshell连接Linux时中文乱码的解决
1.输入自己的命令会乱码2.先判断是否系统支持中文,使用echo $LANG 命令可以测试3.系统支持,那么只能说明是我的xshell不能支持中文,那就改文件属性4.找到file(文件)点击,弹出对话框,在找Properties(属性),然后找到终端,编码选择UTF-85.再次执行,乱码就解决了...原创 2019-08-08 16:02:13 · 1771 阅读 · 0 评论 -
root 用户下显示 -bash-4.2#,如何解决
登录 root 账户后,发现并没有按照标准的用户名显示,而是显示奇怪的 bash-4.2原因:大多是因为不小心删除了 root 下的 .bash_profile 和 .bashrc 文件所造成的,我们可以从其他用户拷贝这两个文件到 root 目录下即可。进入home文件夹下的xiaohu用户下拷贝文件到 root 用户下:输入命令:cp .bash_profile /root 拷贝 b...原创 2019-08-20 15:05:11 · 920 阅读 · 0 评论 -
Jpa操作数据库之@Query使用SQL语句,nativeQuery=true写不写的区别
@Repositorypublic interface CapitalFlowRepository extends JpaRepository<CapitalFlow, Long> {//@Query(value = "select * from capital_flow where sub_account=?1",nativeQuery = true)@Query(value ...原创 2019-08-15 17:59:18 · 6562 阅读 · 0 评论 -
List,Arrays,Iterator,Iterable
List<String> list = Arrays.asList("1", "2", "3"); Iterator<String> iter = list.iterator(); while(iter.hasNext()) { System.out.println(iter.next()); } Iterable<String> iter...原创 2019-08-15 18:42:48 · 134 阅读 · 0 评论 -
LocalDate 与 String 之间的转换
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate today = LocalDate.now(); String dateStr = today.format(fmt); System.out.println("LocalDate转String"+dateStr);...原创 2019-08-15 18:53:11 · 13508 阅读 · 0 评论 -
xshell连接不上虚拟机
打开xshell连接虚拟机忽然发现连不上了我的解决方法:前提是ip地址没变发现sshd服务没开启,重新开启服务,再连接就可以了原创 2019-08-21 10:53:22 · 95 阅读 · 0 评论 -
jpa @Query使用SQL语句因参数类型踩过的坑
实体类public class CapitalFlow implements Serializable {@Column(length = 40)String subAccount;/** * 处理进度 */Stage stage;@CreatedDateLocalDate billDate;@CreatedDateLocalDateTime createAt;}枚...原创 2019-08-16 13:08:39 · 3176 阅读 · 1 评论 -
解决每次连虚拟机都要重启sshd服务的问题
每次连虚拟机一开始都会连不上,每次都要先查下,然后再开启,再查下,每次很费事。service sshd status 查状态service sshd restart(也可以用start)service sshd status看到running了才能连上,最后发现直接输入chkconfig sshd on就是每次重启会自动打开,这样每次连接就不用关心sshd没开启的问题了。...原创 2019-08-28 16:20:55 · 2093 阅读 · 1 评论 -
Linux centos让普通用户获取root权限
Linux centos让普通用户获取root权限第一步:创建用户hyf,给用户设置密码(用root身份创建)useradd hyfpasswd hyfpasswd:所有的身份验证令牌已经成功更新。当看到这句话的时候代表新增用户成功。第二步:切换到普通用户并执行root权限命令解释一波~sudo -l 查看当前用户可使用的命令,仅限root用户可用。sudo -i 命令切...原创 2019-08-29 14:28:18 · 8895 阅读 · 102 评论