MybatisPlus重写Page排序参数之PageUtil的诞生
前言MybatisPlus 分页插件还是很强大的,但是部分功能需要根据项目需要自行调整;比如在排序时,由于数据库表字段与实体类字段不一致(可能是驼峰规则),这个时候如果前台传递的排序参数是实体类字段,则会报异常提示字段不存在,这个时候我们有2种解决办法,一是修改前台传递的参数与数据库字段保持一致,二是后台根据实体类映射自动转换成表字段。
方法两种方法都是可行的,但是站在长远角度上考虑建议第二种方式,分析如下:1、如果前台修改字段,会增加前端代码的复杂度,因为技术员除了需要获取实体类字段还需要知道对应的表字段,如果是修改后端,前端只需要将排序字段与获取数据的字段保持一致即可2、如果是修改后端,我们可以包装一个工具类 专门用于分页,在工具类里重写Page类,利用类的反射将排序字段自动转换为对应的数据库表字段,这样如果其他模块需要,只需要引入该工具类即可
直接上代码
工具类PageUtil.java
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 ...
论mybatisPlus 连表插件(MPJBaseMapper) 与自定义SQL注入器冲突
前言mybatisplus 的好处就不用多说了,带给我们最大的好处就是不用再重复编写那些简单的sql语句。但是多表查询的时候却还是不得不用xml来解决,但是想要偷懒,不想写xml,于是去网上搜索了下是否有连表插件,居然还真有。于是乎就拿下来试用下,问题就来了,由于项目里有写过自定义的sql注入器,加上链表插件后,启动居然报错了,于是乎查看源码分析原因,发现连表插件里也用到了sql注入器,原来如此,现在问题显而易见了。
解决办法因为连表插件里和项目原先配置里都有sql注入器,导致springboot容器在实例化类时不知选择哪一个,所以报错Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed。
看错误原因就知道该如何解决了,在项目原有的sql注入器实现类上加上@Primary 注解,意思是默认优先选择:
123456789101 ...
工具类开发之公共方法集合
背景经常用到的方法,记录下来,方便使用
具体如下判断数组包含123456Array.prototype.contains = function (needle) { for (i in this) { if (this[i] == needle) return true; } return false;};
判断字符串包含1234String.prototype.contains = function (needle) { var result = this.indexOf(needle) > -1 ? true : false; return result;};
以什么结尾1234String.prototype.endWith = function (endStr) { var d = this.length - endStr.length; return d >= 0 && this.lastIndexOf(endStr) == d;};
时间转换 ...
工具类开发之excel模板导出(带单选下拉框、多选下拉框、单选下拉级联)
背景项目新需求,要求导出 excel 模板时,某些字段限制手动输入,只能下拉选择数据,并且可以多字段级联选择、多选。于是,借鉴了些大佬的操作,东拼西凑总算将要用到的功能整合到一起了。废话不多说,直接撸代码。
实现步骤先来个配置类自定义注解1234567891011121314151617181920212223242526272829303132@Retention(RetentionPolicy.RUNTIME)@Target( { java.lang.annotation.ElementType.FIELD })public @interface ExcelAnnotation { /** * 导出到Excel中的名字. */ public abstract String name(); /** * 配置列号,对应0,1,2,3.... */ public abstract int column(); /** * 该字段是否导出 默认true */ public abstr ...
html5标签之video与canvas的使用
前言最近公司有个项目,需要在线播放视频且需要添加水印,思来想去还是前端实现简单点,特此记录下实现过程,借鉴了下网上的方法,也添加了点自己的东西。
思路需要给播放视频添加水印信息,可以在播放的时候获取到每一帧,然后绘制到 canvas 画布上,以画布的方式来播放视频(某些情况下可能会有卡顿的情况,如果要求不是很高已经可以满足需要)。
效果
代码html1234567891011121314<body> <video id="video" src="http://localhost:8080/projectdemo/video/getFile.do" style="display: none;" ></video> <canvas id="canvas" class="canvas" height="500" width="600"></canvas> <foo ...
开篇
说点什么先简单介绍下自己吧,本人 java 程序猿一名,前后工作大概 5 年时间吧,作为一名称职的咸鱼,每天除了老老实实码代码,也没有其他活动了。建站之初完全是一时兴起,想要改变现状找点事做,于是便收集资料找来一个免费的博客框架搭建起来了。至于后期有什么计划,写些什么内容,其实还没具体的规划过,因为有了想法所以开始了。也许是工作中碰到的一些问题的分享,也许是生活游记,想到什么写什么吧。以前也没怎么写过博客,言语枯燥估计也是常态,但是有了一个好的开端,后面逐渐就会好的。一直坚持下去,就好。就这样吧!