- 博客(42)
- 收藏
- 关注
原创 non-static inner classes like this can only by instantiated using default, no-argument constructor
【代码】non-static inner classes like this can only by instantiated using default, no-argument constructor。
2023-06-29 12:11:27
1463
原创 JPA 框架使用nativeQuery ,返回List<Object[]> 封装JAVA对象
【代码】JPA 框架使用nativeQuery ,返回List<Object[]> 封装JAVA对象。
2023-06-29 10:41:31
805
原创 当MySQL 字段为 NULL时,查询结果可能出错
2.设计表,可以设置空值(‘’)或 0 作为其默认值。,可读性更好,执行效率也更快一些。来判断 NULL 值,相比。
2023-05-25 09:43:24
596
原创 Java如何获取集合的泛型
问题已知对象有属性是集合类型,如何获取该集合的泛型?方法@Data@AllArgsConstructorpublic class ResultObj { private Integer id; private List<Student> stu;}@Data@AllArgsConstructorpublic class Student { private String name; private Integer age;}@Sn.
2022-04-15 16:13:31
1356
原创 按关键字段和条件把不完全重复(关键字段重复)筛选数据
按关键字段和条件把不完全重复(关键字段重复)筛选数据表数据SQLSELECT *FROM ( SELECT NAME ,AGE ,MAIL ,TELL ,row_number() OVER ( PARTITION BY NAME ORDER BY AGE DESC ) flag FROM STUDENT )WHERE flag = 1;结果...
2022-03-24 17:07:45
106
原创 EasyExcel 遭遇 java.io.IOException: Zip bomb detected
报错Caused by: com.alibaba.excel.exception.ExcelAnalysisException: java.io.IOException: Zip bomb detected! The file would exceed the max. ratio of compressed file size to the size of the expanded data.This may indicate that the file is used to inflate mem.
2022-03-23 15:33:19
1203
转载 ORA-01745: invalid host/bind variable name
近期,有一个批量插入的sql,突然报出错误“ORA-01745: invalid host/bind variable name(无效的主机/绑定变量名称错误)”。 字面意思排查,可能原因是:使用了保留字、多余或者缺少冒号或者逗号等等语句的问题。经过仔细核对和测试,单条插入都可以正常执行,所以考虑是不是条数太多的问题。所以临时将插入操作改为批次执行,暂时解决了问题。那么,真相到底是怎样呢?后来经过查阅资料,发现根本原因是由于sql语句包含了太多的“?”(占位符),超出了Oracle的限制。经过验证,当
2021-11-29 09:08:00
1278
原创 策略模式---依订单来源,支付方式调用不同逻辑
订单实体类@Datapublic class MyOrder { /** * 订单来源 */ private String source; /** * 支付方式 */ private String payMethod; /** * 订单编号 */ private String code;}订单处理接口public interface OrderHandler { voi.
2021-11-11 15:48:39
376
原创 Json字符串Key转大写
public static JSONObject transToUpperObject(String json) { JSONObject JSONObject2 = new JSONObject(); JSONObject JSONObject1 = JSON.parseObject(json); for (String key : JSONObject1.keySet()){ Object object = JSONObject1.
2021-11-01 18:34:55
790
2
原创 MyBatis动态Sql之foreach标签的用法
mysql 数据库—> foreach 实现批量插入/** * 批量插入用户信息 * * @param userList * @return */int insertList(List<SysUser> userList);<insert id="insertList" useGeneratedKeys="true" keyProperty="id"> INSERT INTO sys_user(user_name, user_password, u.
2021-09-23 10:56:35
237
原创 对象,集合深拷贝
集合@SneakyThrows public <T> List<T> deepCopy(List<T> src) { // 将序列化到字节流 ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(byteOut); out.wri.
2021-08-20 14:26:21
195
转载 Intellij idea插件运用
Codota 代码智能提示插件只要打出首字母就能联想出一整条语句,这也太智能了,还显示了每条语句使用频率。原因是它学习了我的项目代码,总结出了我的代码偏好。Key Promoter X 快捷键提示插件每次都会在右下角弹窗提示,帮助我们快速熟悉快捷键。CodeGlance 显示代码缩略图插件当代码很多的时候,方便查看,很有用。Lombok 简化臃肿代码插件实体类中的get/set/构造/toString/hashCode等方法,都不需要我们再手动写了Alibaba Java Coding G.
2021-07-22 09:16:56
235
原创 查询oracle 数据库中索引与序列
1、查看表中有哪些索引select * from user_indexes where table_name = '表名'2、查看表中索引对应哪些列select * from user_ind_columns where table_name='表名'
2021-07-13 17:46:12
1782
原创 Oracle 表字段转换类型(varchar2转number)
– student 表 age字段由varchar2改成number类型– 1.增加一个原类型缓冲区字段alter table student add BARCODE_INTERNATIONAL_TEMP varchar2(10);– 2.将要修改的字段的值存入缓冲区,同时将要修改的字段置空update student set BARCODE_INTERNATIONAL_TEMP = age, age = null;– 3.修改字段类型alter table student modify ag
2021-06-04 15:15:21
3073
原创 前端传一个String类型参数,后端接收的三种方法
前端传参时,参数放在路径上http://localhost:8080/test?name=justin,参数加注解@RequestParam String name特点:容易涉及到安全问题使用Map接收@RequestBody Map<String,String> map结论:推荐使用第二种
2021-05-16 14:41:31
10619
原创 前端传日期时间字符串,后端转LocalDateTime的三种方法
后端可用String接收,再转LocalDateTime特点:适用于此类型参数较少的场景前端传"2021-05-16T12:10:10"类型,后端借助注解,使用LocalDateTime接收特点:前端传参麻烦@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime time;前端传"2021-05-16 12:10:10"类型,后端借助配置类,使用LocalDateT.
2021-05-16 13:58:06
11012
原创 RestTemplate返回json数据封装
最简单方式:使用Map接收案例:向接口路径 /returnJson2发请求,返回的json字符串用Map接收@RequestMapping("/returnJson3") public List<User> test3(@RequestBody Map<String,String> map) { User user = new User(); user.setName("ee"); user.setAge(11); .
2021-04-05 00:14:58
3999
原创 Oracle数据库分页查询之坑点
案例:create table student( u_name varchar2(20), age INTEGER);insert into student values('zs',12);insert into student values('zs2',13);insert into student values('zs3',14);insert into student values('ls',10);insert into student values('ls2',.
2021-03-28 15:22:01
188
转载 Feign远程调用细节---丢失数据
创建请求拦截器,在拦截器中加上原请求头信息@Comfigurationpublic class FeignConfig { @Bean public RequestInterceptor requestInterceptor() { return new RequestInterceptor (){ @Override public void apply(RequestTemplate template){
2021-02-21 17:20:31
1527
原创 CompletableFuture 异步编排
异步执行任务public class Test1 { public static void main(String[] args) throws ExecutionException, InterruptedException { ExecutorService executor = Executors.newFixedThreadPool(5); System.out.println("start *********"); //无返回值的情.
2021-01-30 13:08:24
107
原创 AOP+自定义注解 实现角色的访问控制(RBAC)
AOP除了可以通过切入点表达式指定需要切入的方法,还可以有与注解相关的写法自定义注解@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Code { String value() default "0";}AOP@Component@Aspectpublic class PermissionHandler { @Autowired
2021-01-22 19:37:17
348
原创 当Mybits中resultType=“java.util.HashMap“,结果会怎样
当使用Mybits框架,有时需要自行在mapper.xml文件中写SQL语句,例如:<select id="test" resultType="java.util.HashMap"> select name,age from t_user</select>结果:{name=zs, age=18}而不是想象的:{zs=18}结论resultType为map时,查询的字段会作为key,查询出的结果作为value另外,如从数据库查询到的是多条记录.
2021-01-22 15:56:32
1851
原创 基于Canal 实现数据库表的同步
Canal目前主要支持了MySQL步骤2.1 本例分别在Linux 系统和本地Windows 系统创建数据库,表;其中表名与结构相同,以实现Linux 数据库更新同步到本地数据库2.2 开启Linux 系统中Mysql binlog功能执行命令 show variables like ‘log_bin’ 查看log_bin 状态,如为OFF,则需要修改配置文件 my.cnf 来开启binlog;命令vi /etc/my.cnf,追加内容:log-bin=mysql-bin .
2020-12-30 17:51:03
2068
1
原创 Cannot retrieve repository metadata (repomd.xml) for repository: base
CentOS6.8 yum安装报错Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again解决方法备份现有repo仓库mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup使用阿里云仓库repocurl -o /etc/yum.repos.
2020-12-26 02:59:10
2253
5
原创 SLF4j、Log4j、Log4j2、Logback 以及统一日志
日志门面是对不同日志框架提供的一个抽象层(统一接口),可在部署的时候不修改任何配置即可接入一种日志实现方案,SLF4j 属于一个日志门面日志实现框架Log4j、Logback、Log4j2 都属于日志实现框架,其中Logback 是Log4j 的升级版;SpringBoot框架选用的是SLF4j +Logback 组合SLF4j +Logback 的使用开发中,日志记录方法的调用,形式上是调用抽象层的方法,实质上是调用的实现中的方法;要使用SLF4j +Logback,只需导入SLF4j 与Lo.
2020-11-29 16:23:07
748
原创 IDEA 自动生成servlet 程序
IDEA 自动生成servlet 程序:首先项目中需引入 servlet-api.jar在tomcat 安装路径中 lib 目录下找到 servlet-api.jar,将其复制到项目中 WEB-INF 下的lib 中,再add as library右键> new > Create new Servlet;如下 Name:类名;Package:指明在哪个包下创建类;勾选:表示用注解;本例不用注解,故取消了勾选web.xml 里自动生成 < servlet>,在指定的包下也自
2020-11-26 22:03:37
3004
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人