提示
被调用的方法老是会跟随调用方回滚就算设置各种@transactional失效方式也没有用
@Transactional失效方式可以看我之前的文章
java
@Transactional(propagation = Propagation.REQUIRES_NEW,noRollbackFor = Exception.class)
public void saveRecCallInterfaceLog(RecCallInterfaceLogEntity recCallInterfaceLogEntity) {
int reslut= recCallInterfaceLogMapper.insert(recCallInterfaceLogEntity);
if (reslut>0){
logger.info("接口调用表更新成功");
}else{
logger.info("接口调用表更新失败");
}
}
Propagation.REQUIRES_NEW 是开启新的事务,不和调用方合并成一个,防止被一起回滚。
noRollbackFor = Exception.class 是设置该方法任何异常都不回滚
text明文【转】Base64字符串; text的Base64字符串【转】明文; 文件(图片、pdf等)【转】Base64; Base64【转】文件(图片、pdf等); 将pdf的Base64编码格式【转为】img的Base64编码格式,只限最后一页的Base64编码; 将pdf的Base64编码格式【转为】img的Base64编码格式,并将所有页合成一张图片的Base64编码;
一、所需的包 注意:java.util.Base64是JDK1.8中新增的类,所以它只支持JDK1.8及以后的版本,如果你的JDK版本低于1.8,请使用org.apache.commons.codec.binary.Base64.
下面的包,是用于Base64的pdf转img使用的,如果不需要要,可以不引用,并删掉对应的方法(前言中的5和6)。
xml
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>fontbox</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.1</version>
</dependency>
先将字符串base64转为字节数组输入流,再转为输入流
java
public InputStream base64ToInputStream(String base64) {
ByteArrayInputStream stream = null;
try {
byte[] bytes = Base64.getDecoder().decode(base64);
stream = new ByteArrayInputStream(bytes);
} catch (Exception e) {
e.printStackTrace();
}
return stream;
}
提示
实现一个查询同时获取多个数据源内相关视图或者表里的信息
新建一个maven model,配置基本项目内容
xml
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-typehandlers-jsr310</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>5.7.1</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中。
request常用的方法和操作:
getRequestURL方法返回客户端发出请求时的完整URL。
getRequestURI方法返回请求行中的资源名部分,去掉主机名的部分。
getRemoteAddr方法返回发出请求的客户机的IP地址
getRemoteHost方法返回发出请求的客户机的完整主机名
getRemotePort方法返回客户机所使用的端口号
getLocalAddr方法返回WEB服务器的IP地址。
getLocalName方法返回WEB服务器的主机名
getMethod得到客户机请求方式,如GET,POST
getHead(name)方法
getHeaders(String name)方法
getHeaderNames方法
getParameter(name)方法
getParameterValues(String name)方法
getParameterNames方法
getParameterMap方法