自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 使用存储过程 批量添加数据

# 删除如果存在的存储过程 test:存储过程名称DROP PROCEDURE IF EXISTS test# 创建存储过程/* // 代表默认情况下,不可能等到用户把这些语句全部输入完之后,再执行整段语句。 因为mysql一遇到分号,它就要自动执行。 即,在语句RETURN '';时,mysql解释器就要执行了。这种情况下,就需要事先把delimiter换成其它符号,如//或$$*/delimiter // /*创建存储过程名称*/create PROCEDURE test..

2022-02-14 10:38:27 1031 1

原创 LocalDate 获取两个日期之间的天数

public static void main(String[] args) { LocalDate day0 = LocalDate.of(2021, 01, 24); System.out.println(day0.toString()); LocalDate day1 = LocalDate.of(2022, 11, 21); System.out.println(day1.toString()); System.o.

2021-12-13 14:22:28 1254

原创 给已有表增加新字段

使用MySQL命令,在MySQL客户端工具或者命令行中,执行以下命令:ALTER TABLE device ADD COLUMN `device_ip` VARCHAR(32) DEFAULT NULL COMMENT '设备IP';ALTER TABLE device ADD COLUMN `device_name` VARCHAR(128) DEFAULT NULL COMMENT '设备名称';ALTER TABLE device ADD COLUMN `device_type` VARC

2021-11-25 11:35:29 2131

原创 list批处理-给查出的列表里的每一条数据加一个字端,表示该数据在第几页

运用在实际工作中,是因为我们的列表分页需要。给每一个数据加一个字段标识该数据在哪一页中,上代码:利用列表的截取,每十条给一个从1开始加的值,就表示在哪一页了 @Override public List<Map<String,Object>> getTaskCountGroupByTaskName(Integer projectId,Integer functionTypeId){ List<Map<String, Object>&gt

2021-11-24 16:31:31 600

原创 List转String

List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(5);list.add(4);list.add(1);System.out.println(list.stream().map(String::valueOf).collect(Collectors.joining(",")));

2021-09-30 10:04:33 756

原创 String 转List<String>

List<String> dealUserList = Arrays.stream(endExamStep.get("dealUser").toString().split(",")).collect(Collectors.toList());或者

2021-09-30 10:02:23 119

原创 数据库里以字符串存储数组,那么取的时候再转成数组,利用JSONArray.parseArrray

数据库里以varchar类型 存储 dealUserDetail: ["-1@0","-1@1"]获取的时候该字段的值为 dealUserDetail: "["-1@0","-1@1"]"如何再传给前端是是一个 数组类型: ["-1@0","-1@1"]利用 <font color=‘red’>JSONArray.parseArray(dealUserDetail) </font> 即可JSONArray dealUserDetailList =JSON...

2021-08-13 10:52:42 337

原创 执行动态sql,整个查询语句都是动态的

动态sql,整个查询语句都是动态的mapper.xml:<select id="selectSql" resultType="java.lang.String"> ${sql}</select>mapper: String selectSql(@Param("sql") String sql);impl://查询出的结果 String content = testMapper.selectSql(contentSql);...

2021-06-15 09:53:20 107

原创 数据库表解锁

select * from information_schema.innodb_locks; ## 当前运行的所有事务select * from information_schema.innodb_trx; ## 当前出现的锁select * from information_schema.innodb_lock_waits ; ## 锁等待的对应关系

2021-06-15 09:41:08 68

原创 策略模式-面向接口编程

策略模式-面向接口编程什么是策略模式?比如说对象的某个行为,在不同场景中有不同的实现方式,这样就可以将这些事件方式定义为一组策略,每一个实现类对应一个策略,在不同的场景就使用不同的实现类,并且可以自由切换策略。策略模式结构图:策略模式需要一个策略接口,不同的策略实现不同的实现类,在具体业务环境中仅持有该策略接口,根据不同的场景使用不同的实现类即可。面向接口编程,不是面向实现。策略模式的优点:1.干掉繁琐的if,switch判断逻辑;(具体情况具体分析)2. 代码优雅,可复用,可读性好;3

2021-05-27 11:33:47 370

原创 取两个字符串不一样的数据

取两个字符串不一样的数据例如String a=“1,2,3,4”String b =“1,2”a总是要包含b的具体业务中是有处理人跟已处理人字段,此时需要算出未处理人的人员dealUser:处理人 dealedUser:已处理人使用: String union = getUnion(dealUser, dealedUser, ",");封装方法:public static String getUnion(String str1, String str2, String regex) {

2021-05-26 17:27:27 1064

原创 字符串去重

字符串去重String nextStepUser=”1,2,1,3“此时1重复了,我想要的是”1,2,3“//先将字符串转成listList list =Arrays.asList(nextStepUser.split(","));//list去重 Listcollect = list.stream().distinct().collect(Collectors.toList());//再转回字符串nextStepUserStr = StringUtils.join(collect

2021-05-26 15:05:01 149

原创 JSON对象数组转JSON对象字符串,字符串再转为数组

JSONArray转String,String转JSONArray业务需求前端传来参数格式,重点是附件附件传来是数组格式,但是数据库的content是text类型,所以存之前要转一下"dealFields": [ { "fieldName": "处理日期", "content": "2020/05/24" }, { "fieldName": "附件", "content": [ { "fileId": 9313, "fileName":

2021-05-26 14:05:56 830 1

原创 GROUP_CONCAT()和FIND_IN_SET()的结合使用

GROUP_CONCAT()和FIND_IN_SET()的结合使用需求,查询多个用户的名称,且将这些名称拼接成一个字符串返回mapper层: String getUserNameById(String userId);xml层: <select id="getUserNameById" resultType="java.lang.String"> select GROUP_CONCAT(Name) as userName from manage_user where FIND_I

2021-05-19 16:09:24 202

原创 模糊查询 LIKE CONCAT()的使用

LIKE CONCAT()根据学生名称模糊查询学生信息sql语句实现select stuName from student where stuName LIKE CONCAT(’%’, ‘张’, ‘%’)mybatis实现:select stuName from student wherestuName LIKE CONCAT (’%’,#{stuName ,jdbcType=VARCHAR},’%’)LIKE CONCAT 还可以用于同时搜索符合当前条件的两个字段的信息

2021-05-18 18:56:51 5924 1

原创 SQL常用语句(提升篇)

SQL常用语句(提升篇)betweenbetween 限制查询数据范围包括了边界值,not between不包括select * from table1 where time between time1 and time2select a,b,c from table1 where a not between 数值1 and 数值2in的使用方法select * from table where a [not] in (‘值1’,‘值2’…)两张表关联,删除主表已经在

2021-05-18 18:32:24 61

原创 SQL常用语句(基础篇)

SQL常用语句(基础篇)说明:创建数据库 CREATE DATABASE database-name说明:删除数据库 drop database dbname说明:备份sql server —创建备份数据的deviceUSE masterEXEC sp_addumpdevice ‘disk’,‘testBack’,‘c:\mssql7backup\MyNwind_1.dat’–开始备份BACKUP DATABASE pubs TO testBack说明:创建新表c

2021-05-18 16:34:20 4074

原创 如何取 Map<String,Integer>l里面的List< Map<String,Integer>>

如何取 Map<String,Integer>l里面的List< Map<String,Integer>> Map<String, Object> examResult=new HashMap<>(); List<Map<String, Object>> dealUserList = new ArrayList<>(); dealUserList = dealUserService.getDealUse

2021-05-12 16:02:20 673

原创 java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的6到20位组合

java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的6到20位组合"^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[\\W_])^.{6,20}$";

2021-04-19 14:13:30 3661 3

原创 JSONObject转对象

JSONObject转对象JSONObject messageJo = messageList.getJSONObject(i);Message message = JSON.toJavaObject(messageJo, Message.class);

2021-03-26 11:19:13 12765

原创 表新增字段 sql语句(正式环境发包时用到)

表新增字段 sql语句alter table 表名 add column 字段名 varchar(50) …//varchar类型alter table TaskHandleFlow add column signType varchar(50) DEFAULT NULL COMMENT '签署类型';//时间类型alter table TaskHandleFlow add column createTime timestamp NOT NULL DEFAULT current_timestam

2021-03-18 15:25:50 909

原创 统计本周检查及今日检查

本周 YEARWEEK()//checkDate检查时间在本周的,此条 select IFNULL(count(0),0) as week from check_event where projectId = #{projectId} <if test="bidsectionId != null and bidsectionId != 0"> and bidSectionId = #{bidsectionId} </if

2020-12-30 09:19:07 102

转载 数据表数据迁移——复制一个表的数据到另外一个表

通过 SQL,你可以从一个表复制信息到另一个表。MySQL 数据库不支持 SELECT … INTO 语句,但支持 INSERT INTO … SELECT 。1、 SELECT INTO语法SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。create table 新表 as select * from 旧表我们可以复制所有的列插入到新表中:select * into newtable from oletable;或者只复制希望的列插入到新表中:select

2020-12-30 09:10:23 10282

原创 java及Sql判断某个时间是否是在当前时间的七天之内

java及Sql判断某个时间是否是在当前时间的七天之内第一种java代码实现,在需要的地方调用此方法/** * 判断某个时间是否在当前时间的七天之内 * 如果是返回true,反之返回false * @param addtime * @param now * @return */ public boolean isLatestWeek(Date addtime, Date now) { Calendar calendar

2020-12-24 10:53:00 1476

原创 ISNULL

IF(ISNULL(pmc.companyMenuId) = 1,‘0’,‘1’) as groupJava代码解释:if(pmc.companyMenuId != null) { return 0; } else { return 1; }

2020-12-24 10:20:45 140

转载 tomcat介绍-通俗易懂篇

我叫Tomcat:一款web服务器如何将我们的Java代码,运行在网络上,出学时,首先接触到的一般都是Servlet以及Jsp(或掠过Jsp)而Tomcat就是这两者的容器,帮你处理动态网页部分(一)Tomcat和它的小伙伴JBoss:Redhat红帽,支持所有的JavaEE规则,适合大型项目,收费Weblogic:Orcale,支持所有JavaEE规则,适合大型项目,收费Websphere:IBM,支持所有JavaEE规则,适合大型项目,收费Resin:Caucho,支持所有的JavaEE

2020-12-15 11:36:38 4643

原创 SQL 查找是否“存在“,别再 COUNT 了

SQL 查找是否"存在",别再 COUNT 了,很耗费时间的以往的写法:业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的SQL及代码写法如下####sql写法:select count(*) from table where a=1 and b=2####java写法:int num = xxxDao.countXxxByXxx(param);if(num>0){ //当存在是,执行这里的代码 } else{ //当不存在时,执行这里的代码 }

2020-12-09 14:27:56 122

原创 时间过滤

时间过滤详细考虑: AND (( startTime <![CDATA[ >= ]]> #{startTime} AND startTime <![CDATA[ <= ]]> #{endTime} ) or ( endTime <![CDATA[ >= ]]> #{startTime} AND endTime <![CDATA[ <= ]]> #{endTime}) or ( en

2020-12-02 10:44:06 247

原创 List<>转JsonArray

List<?>转JsonArrayList<?> paramResultsJSONArray.parseArray(JSON.toJSONString(paramResults))

2020-11-10 16:04:29 180

原创 MySQL语句的知识点积累

一、DATEDIFF函数:获取两个日期的时间间隔//计划结束减去计划开始等于工期 DATEDIFF(MAX(pp.planEndDateTime),MIN(pp.planStartDateTime)) as timeLimit,二、 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。 语法:DATE_FORMAT(date,format)//例一SELECT id,DATE_FORMAT(create_time, '%Y-%c-%d %H:%i:%S')FROM e

2020-11-10 11:29:28 174

原创 JSONArray转为 List<Map<String, Object>>格式

JSONArray转为 List<Map<String, Object>>格式 JSONArray projectSiteAndBidSectionData = projectSiteAndBidSection.getJSONArray("data"); projectSiteAndBidSectionData.stream().forEach(pb -> { Map<String, Object> rightMap = (Ma

2020-11-04 14:00:25 4110

原创 批量导出二维码并生成压缩文件

生成二维码第一步:导依赖包(使用的是Qrcode的方法) <!--生成二维码,这个jar包可能不容易下载,需要手动将jar包放入maven仓库里--> <dependency> <groupId>Qrcode_swetake</groupId> <artifactId>Qrcode_swetake</artifactId> <version>1.0</v

2020-11-04 11:16:56 7149 1

原创 mysql中时间字段datetime怎么判断为空和不为空

mysql中时间字段datetime怎么判断为空和不为空mysql中时间字段datetime怎么判断为空和不为空一般为空都用null表示,所以一句sql语句就可以。select * from 表名 where 日期字段 is null;这里要注意null的用法,不可以用=null这样的形式表示。相反,要取出不为空的数据,就是is trueselect * from 表名 where 日期字段 is true;...

2020-10-13 15:23:39 4609

原创 Feign超时 在yml文件里配置

Feign超时 在yml文件里配置:ribbon: ReadTimeout: 5000 ConnectTimeout: 3000

2020-09-29 09:31:25 2380

原创 jdk1.8下 list<Integer>,Integer[],int[]三者之间的互转

jdk1.8下 list,Integer[],int[]三者之间的互转 1 List<Integer> list = new ArrayList<>(); 2 list.add(111); 3 // List<Integer> -> int[] 4 int[] ints = list.stream().mapToInt(Integer::valueOf).toArray(); 5

2020-09-25 14:07:30 734

原创 后端以Integer类型接受,前端传来字符串“null“,后端怎么做处理?

后端以Integer类型接受,前端传来字符串"null",后端怎么做处理?/** * 获取当前用户功能菜单及权限 * @return */@ResponseBody@RequestMapping(value = {"/mobBaseService/home/queryCompanyMenuFunctionName"}, method = RequestMethod.GET)public JSONObject queryCompanyMenuAndFunction(@RequestHeader(

2020-09-22 10:05:47 5677 4

原创 JsonArray转List<String>

JsonArray转List String newIds = JSONObject.getJSONArray("newIds").toString(); List<String> list = JSONObject.parseArray(newIds,String.class);

2020-09-17 12:38:59 8444

原创 当前时间的周一周日,月的第一天最后一天,年的第一天最后一天

//当前时间LocalDate localDate = LocalDate.now();//当前本周一LocalDate monday =localDate.with(TemporalAdjusters.previous(java.time.DayOfWeek.SUNDAY)).plusDays(1);//当前本周日LocalDate sunday = localDate.with(TemporalAdjusters.next(java.time.DayOfWeek.MONDAY)).minu

2020-09-17 09:31:34 384

原创 union all

<select id="getMonthlyPlanAndActualProValue" resultType="java.util.Map"> SELECT t.projectId,t.projectSiteId ,max(t.planProValue) planProValue,max(t.actualProValue) actualProValue from ( SELECT mppv.projectId, mppv.projectSiteId, CONVE

2020-09-17 09:27:00 76

原创 获取文件后缀名

//获取到fileName的后缀 利用lastIndexOf()从最后面截后缀,找到最后一个点的索引然后加一, //利用substring截取该索引后的字符串 f.getFileName().substring(f.getFileName().lastIndexOf(".") + 1);lastIndexOf() 方法有以下四种形式:public int lastIndexOf(int ch):返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。..

2020-09-12 14:37:24 2149

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除