最近开发的一个应用需要走支付宝的oauth2网关获取用户的openid,并基于该id开展业务。上线之后陆续发现一些问题,问题的最终效果均为用户openid为空。
对应的场景和解决方案如下。

场景一.用户转发链接导致openid为空

用户之间为了方便会转发url,然后进入对应的业务场景页面。在这个过程中携带了自身的authcode,新用户访问该url时使用了之前用户的authcode,该authcode
已经失效,导致支付宝侧返回”null”,从而出现库中存在openid为null的情况。

Read More

为springboot应用添加access_log日志

只需要在application.properties中添加如下配置

########################################################
#
#        access_log支持
#
########################################################
server.tomcat.accesslog.buffered=true
server.tomcat.accesslog.directory=/log/laxin
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.file-date-format=.yyyy-MM-dd
server.tomcat.accesslog.pattern=common
server.tomcat.accesslog.prefix=access_log
server.tomcat.accesslog.rename-on-rotate=false
server.tomcat.accesslog.request-attributes-enabled=true
server.tomcat.accesslog.rotate=true
server.tomcat.accesslog.suffix=.log

Read More

本文主要对mybatis操作mysql的一些注意点进行小结,作为以后开发的参考。

1. mybatis 的条件查询的三个方法实现

Mybatis的多条件查查询,传递参数,
第一种方法 传递map 型,
第二种方法 传递pojo
带三种方法 多个参数如果不封装成Map,就用序列号代替。

如果参数比较多且乱建议用map 型,如果有定义的pojo 则建议用pojo类型,如果传递的参数不多,则建议用序列号代替的方法。

Read More

事务的传播属性(Propagation)

1) REQUIRED ,这个是默认的属性

Support a current transaction, create a new one if none exists.
如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。
被设置成这个级别时,会为每一个被调用的方法创建一个逻辑事务域。
如果前面的方法已经创建了事务,那么后面的方法支持当前的事务,如果当前没有事务会重新建立事务。

Read More

Fork me on GitHub