- 博客(44)
- 收藏
- 关注
原创 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 929
原创 JPA 框架使用nativeQuery ,返回List<Object[]> 封装JAVA对象
【代码】JPA 框架使用nativeQuery ,返回List<Object[]> 封装JAVA对象。
2023-06-29 10:41:31 639
原创 当MySQL 字段为 NULL时,查询结果可能出错
2.设计表,可以设置空值(‘’)或 0 作为其默认值。,可读性更好,执行效率也更快一些。来判断 NULL 值,相比。
2023-05-25 09:43:24 515
转载 全面了解mysql锁机制(InnoDB)
MySQL/InnoDB的加锁,一直是一个常见的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?
2023-02-10 10:29:49 90
原创 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 1324
原创 按关键字段和条件把不完全重复(关键字段重复)筛选数据
按关键字段和条件把不完全重复(关键字段重复)筛选数据表数据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 86
原创 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 1094
转载 ORA-01745: invalid host/bind variable name
近期,有一个批量插入的sql,突然报出错误“ORA-01745: invalid host/bind variable name(无效的主机/绑定变量名称错误)”。 字面意思排查,可能原因是:使用了保留字、多余或者缺少冒号或者逗号等等语句的问题。经过仔细核对和测试,单条插入都可以正常执行,所以考虑是不是条数太多的问题。所以临时将插入操作改为批次执行,暂时解决了问题。那么,真相到底是怎样呢?后来经过查阅资料,发现根本原因是由于sql语句包含了太多的“?”(占位符),超出了Oracle的限制。经过验证,当
2021-11-29 09:08:00 1086
原创 策略模式---依订单来源,支付方式调用不同逻辑
订单实体类@Datapublic class MyOrder { /** * 订单来源 */ private String source; /** * 支付方式 */ private String payMethod; /** * 订单编号 */ private String code;}订单处理接口public interface OrderHandler { voi.
2021-11-11 15:48:39 333
原创 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 671 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 189
原创 对象,集合深拷贝
集合@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 128
转载 Intellij idea插件运用
Codota 代码智能提示插件只要打出首字母就能联想出一整条语句,这也太智能了,还显示了每条语句使用频率。原因是它学习了我的项目代码,总结出了我的代码偏好。Key Promoter X 快捷键提示插件每次都会在右下角弹窗提示,帮助我们快速熟悉快捷键。CodeGlance 显示代码缩略图插件当代码很多的时候,方便查看,很有用。Lombok 简化臃肿代码插件实体类中的get/set/构造/toString/hashCode等方法,都不需要我们再手动写了Alibaba Java Coding G.
2021-07-22 09:16:56 210
原创 查询oracle 数据库中索引与序列
1、查看表中有哪些索引select * from user_indexes where table_name = '表名'2、查看表中索引对应哪些列select * from user_ind_columns where table_name='表名'
2021-07-13 17:46:12 1666
原创 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 2939
原创 前端传一个String类型参数,后端接收的三种方法
前端传参时,参数放在路径上http://localhost:8080/test?name=justin,参数加注解@RequestParam String name特点:容易涉及到安全问题使用Map接收@RequestBody Map<String,String> map结论:推荐使用第二种
2021-05-16 14:41:31 10260
原创 前端传日期时间字符串,后端转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 10246
原创 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 3635
原创 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 156
转载 Feign远程调用细节---丢失数据
创建请求拦截器,在拦截器中加上原请求头信息@Comfigurationpublic class FeignConfig { @Bean public RequestInterceptor requestInterceptor() { return new RequestInterceptor (){ @Override public void apply(RequestTemplate template){
2021-02-21 17:20:31 1449
原创 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 79
原创 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 304
原创 当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 1674
原创 基于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 1977 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 2208 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人