自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

得已

注册码--在--得已科技--公众号

原创 jpa操作oracle数据库报sql未正确结束

springboot项目,连接oracle数据库,用自带PagingAndSortingRepository<Data,String>进行数据分页,项目可以正常启动,但是分页数据无法刷新,后台报sql命令未正确结束注释掉自带分页代码,使用sql语句可以直接进行分页,证明数据库和代码是通的,后来查出来是因为没有加入oracle方言造成的,在application.properties里面加入spring.jpa.properties.hibernate.dialect=org.

2020-08-05 15:41:34 13

原创 Linux 截取日志命令

1、截取时间段截取2020-06-18 10:10 到2020-06-18 10:20 之间的日志记录,catalina.out 为你要截取的文件名称,new2.log 截取之后保存日志的文件名称。sed -n '/2020-06-18 10:10/, /2020-06-18 10:20/' p catalina.out > new1.logsed -n '/2020-06-18 10:20:47/, /2020-06-18 10:26:47/' p catalina.out...

2020-06-18 11:48:01 123

原创 @Transactional 异常并未回滚

默认情况下,Exception是不会引起回滚操作的,RuntimeException才会引起回滚操作。当然如果所有的Exception都要回滚的话,直接@Transactional(rollbackFor = Exception.class) 就可以了

2020-06-17 19:12:45 87

原创 什么是乐观锁,什么是悲观锁

一、并发控制当程序中可能出现并发的情况时,就需要通过一定的手段来保证在并发情况下数据的准确性,通过这种手段保证了当前用户和其他用户一起操作时,所得到的结果和他单独操作时的结果是一样的。这种手段就叫做并发控制。并发控制的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。没有做好并发控制,就可能导致脏读、幻读和不可重复读等问题。常说的并发控制,一般都和数据库管理系统(DBMS)有关。在DBMS中的并发控制的任务,是确保在多个事务同时存取数据库中同一数据时,不破坏事务的隔离性和.

2020-06-17 14:11:45 163

原创 Redis:@Cacheable、@CachePut、@CacheEvict

MySQL+Redis使用更简单的办法就是使用Spring的Cache注解包(spring-boot-starter-cache) 只需要几个注解就能完成一大堆要处理的逻辑使用时需要在启动类上添加注解 @EnableCaching 来开启使用@Cacheable@Cacheable可以标记在一个方法上,也可以标记在一个类上。当标记在一个方法上时表示该方法是支持缓存的,当标记在一个类上时则表示该类所有的方法都是支持缓存的。对于一个支持缓存的方法,Spring会在其被调用后将其返回值缓存起来,以保证下

2020-06-16 17:30:59 91

原创 Redis:Spring Boot使用@Cacheable时设置部分缓存的过期时间

@Override@Cacheable(cacheNames = {"distributor"}, key = "key1")public List<CityVO> findCities() { return distributorMapper.selectCities();}@Override@Cacheable(cacheNames = {"car"}, key = "key2")public List<CityVO> findCities() { ...

2020-06-16 17:26:15 552

原创 小程序 下拉加载,一直显示加载中

增加以下代码即可//下拉加载动画关闭wx.stopPullDownRefresh();onPullDownRefresh: function (e) { wx.stopPullDownRefresh(); }

2020-06-16 00:18:49 162

原创 微信小程序 空判断

判断options是否存在if(options){ //存在 }else{ //不存在 }即可

2020-06-16 00:15:26 464

原创 redis 持久化

1、前言Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。

2020-06-10 15:17:13 57

原创 JAVA判断当前时间在时间范围内

public static void main(String[] args) throws ParseException { SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss"); Date startTime = ft.parse("2019-06-05 03:26:54"); Date endTime = ft.parse("2019-06-09 03:26:54");...

2020-06-09 15:41:59 124

原创 Map的isEmpty()与==null的区别

isEmpty()方法判断Map是否有内容(即new分配空间后是否put键值对),若没有内容则true,否则false == null是判断map是否为null(即是否new分配空间,和其中的键值对没关系),若没有内容则true,否则false例如:1 Map map = new HashMap<String ,String>();2 System.out.println("判断map是否有内容:"+map.isEmpty());//返回true3 System.out.print

2020-06-09 15:40:15 132

原创 Daemon--守护线程、后台线程

Daemon  守护线程是程序运行时在后台提供服务的线程,不属于程序中不可或缺的部分,当所有非守护进程执行完成时,程序也就终止,同时会杀死所有的守护进程(主线程结束、则守护线程也强制结束)。main()属于非守护线程。可以使用setDaemon()将一个线程设置为守护线程。public static void main(String[]args){ Thread thread=new Thread(new MyRunnable()); thread.setDaemon(true);

2020-06-09 15:37:32 37

原创 彻底搞懂Nginx

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少(一个worker进程只占用10-12M内存),启动极快,高并发能力强,在互联网项目中广泛应用。上图基本上说明了当下流行的技术架构,其中Nginx有点入口网关的味道。反向代理服务器经常听人说到一些术语,如反向代理,那么什么是反向代理,什么又是正向代理呢?下面是一个简单的总结。正向代理由于防火墙的原因,我们并不能直接访问谷歌,那么我们可以借助VPN来实现,这就是一个简单的正向代理的例子。这里你能够发现,正向代.

2020-06-04 11:34:40 65

原创 Nginx 性能优化!

1、Nginx运行工作进程数量Nginx运行工作进程个数一般设置CPU的核心或者核心数x2。如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor /proc/cpuinfo | wc -l[root@lx~]# vi/usr/local/nginx1.10/conf/nginx.confworker_processes 4;[root@lx~]# /usr/local/nginx1.10/sbin/nginx-s rel

2020-06-04 11:28:29 42

原创 快速学会JPA中所有findBy语法规则

1、findBy findAllBy的区别它们之间没有区别,它们将执行完全相同的查询,当从方法名称派生查询时,Spring Data会忽略All部分。唯一重要的一点是By关键字,其后面的任何内容都被视为字段名称如 findXXXXXXXXXXXXXByName 实际上==》 findByName2、JPA中支持的关键词And --- 等价于 SQL 中的 and 关键字,比如 findByUsernameAndPassword(String user, Striang pwd); Or..

2020-05-27 17:12:29 206

原创 解决 oracle中char长度增大后导致增加了多余的空格

1、由于疏忽直接将字段类型的长度增加了,导致其他数据对应字段都增加了多余的空格 占满全部字节长度对后续取出数据 造成了影响,不可能每次都要trim字段 去除空格。2、将char类型的字段改成varchar2类型 长度一致。3、执行sqlt1表名 col1 需要去除空格的字段名--去掉字段值左边空格update t1 set col1=ltrim(col1);--去掉字段值右边空格update t1 set col1=rtrim(col1);--去掉字段值两边空格upd...

2020-05-27 11:09:14 175

原创 entity、bo、vo、po、dto、pojo如何理解和区分?

Entity最常用实体类,基本和数据表一一对应,一个实体一张表。Bo(business object)代表业务对象的意思,Bo就是把业务逻辑封装为一个对象(注意是逻辑,业务逻辑),这个对象可以包括一个或多个其它的对象。通过调用Dao方法,结合Po或Vo进行业务操作。再比如投保人是一个Po,被保险人是一个Po,险种信息也是一个Po等等,他们组合起来就是一张保单的Bo。Vo(value object)代表值对象的意思,通常用于业务层之间的数据传递,由new创建,由GC回收。主要体.

2020-05-20 10:37:06 210

原创 Pagehelper进行分页返回条数 不正确

1、查询第一页 20条数据,返回5条根本原因是mybatis SQL 映射错了,<select id="getAllDistribution" resultMap="BaseResultMap"></select>BaseResultMap 下的<collection> id 重复了

2020-05-13 14:55:24 223

原创 Tomcat 部署后文件无法下载

1、如果文件是中文名,则去tomcat server.xml文件中加上 URIEncoding="UTF-8" 即<Connector port="8080" redirectPort="8443" URIEncoding="UTF-8" /> 重启tomcat,问题解决。2、ftp协议 20、21端口被关闭了

2020-05-13 14:23:41 88

原创 ajax提交表单时异常

ajax提交表单时,页面发生跳转,直接跳到json输出数据页面问题:后端返回成功后 前端ajax不是进入success方法,而是打开新页面输入json解决:将button按钮改成 a 标签<button type="button" class="btn" onclick="submit()">保存</button><a onclick="submit()" role="button" type="button">保存</a>...

2020-05-09 14:50:42 83

原创 测试公众号的申请及接口信息配置

0、申请测试号https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index1、接口配置信息url带上http://后端java代码 /** * token校验 */ @GetMapping("/checkToken") ...

2020-05-04 09:01:52 175

原创 Linux指令 vi编辑,保存及退出

编辑模式  使用vi进入文本后,按i开始编辑文本退出编辑模式   按ESC键,然后:    退出vi   :q! 不保存文件,强制退出vi命令    :w 保存文件,不退出vi命令    :wq 保存文件,退出vi命令...

2020-05-01 16:07:42 80

原创 面试题:Redis在项目中的使用场景

Redis的数据结构有五种,分别是:String,Hash,list,set,zset。这五种数据结构有各自的使用场景:1. String某一IP地址在一个时间段访问很频繁,就要对此进行封锁。Redis中的String数据类型可以通过Incrby命令记录访问次数。2. Hash用来存储用户信息[id,name,age];Hset{key,field,value}例如:Hset{u...

2020-04-26 14:22:27 339

原创 (七)API Gateway 与 nacos 实现微服务接口调用

1、创建新的module2、填入pom<dependencies> <!--gateway 此模块已包含 starte-web--> <dependency> <groupId>org.springframework.cloud</groupId> ...

2020-04-15 15:55:03 1077

原创 @Slf4j注解实现日志输出

使用@Slf4j注解首先是在pom中引入:<!--可以引入日志 @Slf4j注解--><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId></dependency>...

2020-04-15 15:46:10 175

原创 通过IntelliJ IDEA和Maven命令查看某个jar包是怎么引入的

发现打包的时候引入的jar包有几百个,如果想知道某个jar包是如何引入的,可以看Maven Projects,点开某个Module的Dependencies一层一层展开就可以了可以直接输入名称高亮显示,但是没法搜索……上面也有一个Show Dependencies按钮,不过显示的蜘蛛网太复杂,实在不知道从哪里看起...另外还可以通过Maven命令来查询,mvn ...

2020-04-15 15:28:43 106

原创 kettle 同步表数据

1、打开kettle,2、如果闪退,则修改运行内存数据都为5123、开始建立转换。  在文件->新建装换。在输入表 拖动表输入 到右侧工作区双击 新建数据库连接以上2个不用填写 ,填写完后 点击测试,会报缺少对应的数据库JAR包,拉到软件文件所在目录的lib里 重启软件即可成功4、预览数据库数据5、添加排序选择主键进行...

2020-04-10 09:58:46 146

原创 form表单提交数据,处理后端返回数据

引入在线 jquery-form.js<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.form/4.2.1/jquery.form.min.js" integrity="sha384-tIwI8+qJdZBtYYCKwRkjxBGQVZS3gGozr3CtI+5JF/oL1JmPEHzCEnIKbDbLTCer" c...

2020-04-09 17:15:25 340

原创 (六)基于fegin实现服务调用、负载均衡

上一篇写到List<ServiceInstance> instances = discoveryClient.getInstances("service-user-provider-8001");ServiceInstance instance = instances.get(0);只是调用第一个微服务若是A能调用2个以上的微服务则,上述方法则不可取。将采用ribb...

2020-04-03 16:45:57 153

原创 (五)nacos服务调用

1、下载nacoshttps://github.com/alibaba/nacos/releases2、启动nacos访问地址http://localhost:8848/nacos/默认账号密码都是nacos3、引入<!--nacos客户端--><dependency> <groupId>com.alibaba....

2020-04-03 14:29:14 1648

原创 (四)提取公共包

将需要的bean、utils等 放在一个新建的空module在对应的其他项目中引入公共包<!--引入公共包--><dependency> <groupId>com.zhuanghw</groupId> <artifactId>mall-common</artifactId> &lt...

2020-04-03 10:23:35 101

原创 (三)创建子模块

创建流程: 1建module 2改pom 3写yml 4主启动 5业务类

2020-04-03 10:20:20 78

原创 @PathVariable注解使用

@PathVariable是spring3.0的一个新功能:接收请求路径中占位符的值语法:@PathVariable("xxx")通过 @PathVariable 可以将URL中占位符参数{xxx}绑定到处理器类的方法形参中@PathVariable(“xxx“) @RequestMapping(value=”user/{id}/{name}”)请求路径:http://loca...

2020-04-02 16:59:55 232

原创 如何使用JPA的UUID主键生成策略

@Entity@Table(name = "ip_user")@GenericGenerator(name = "jpa-uuid", strategy = "uuid")public class User implements Serializable { @Id @GeneratedValue(generator = "jpa-uuid") @Column(l...

2020-04-02 15:31:47 67

原创 oracle跨库查询dblink的用法实例详解

1、查看dblinkselect * from dba_db_links;2. 创建dblinkcreate public database link LINK_NAMEconnect to USRNAME identified by "PASSWORD"using'(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX...

2020-04-01 17:06:49 90

原创 Oracle数据库 sql语句 毫秒与日期的相互转换

一:毫秒转换为日期:SELECT TO_CHAR(1530867673000 / (1000 * 60 * 60 * 24) + TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') AS CDATE FROM DUAL;二:日期转换毫秒:...

2020-03-26 14:53:17 173

原创 (二)服务注册框架的选择:Nacos

什么是 Nacos?Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应...

2020-03-24 22:56:37 44

原创 (一)父工程项目搭建

1、新建一个空的maven项目2.完成后修改pom

2020-03-22 20:54:19 117

原创 java 两个时间段的比较

String DateStr1 = "2018-04-11 10:20:16";String DateStr2 = "2014-04-10 15:50:35";DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date dateTime1 = dateFormat.parse(DateStr1);Date...

2020-03-18 14:03:49 549

原创 Java精确计算,用BigDecimal来处理int、double、float等之间的计算

public static void main(String[] args) { BigDecimal b1 = new BigDecimal(Integer.toString(3));; BigDecimal b2 = new BigDecimal(Double.toString(4.9)); System.out.println(b1); System.out.println...

2020-03-17 09:52:23 44

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