关于工作中的杂记

壹:

ArrayList的for循环中不能进行remove()操作;报错:java.util.ConcurrentModificationException 异常

	解决办法:

①倒序遍历:

for (int i = list.size() - 1; i >= 0 ; i--) {
            list.remove(i);
        }

②修改一下索引值:

for (int i = 0 ;i < list.size(); i++) {
            list.remove(i);
            i--;
        }

③迭代器:

Iterator<Student> iterator = list.iterator();
        while (iterator.hasNext()){
            Student next = iterator.next();
            if("XXX".equals(next.getName())){
                iterator.remove();
            }
        }

贰 :

在MYBATIS中进行sql批量操作时,批量插入时返回ID,批量更新时不返回ID(有则更新,无则插入)

SQL:

<insert id="exportUser" parameterType="com.xxx.xxx.xxx.User" keyColumn="id" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO user
        (elder_name, phone, id_card, birth_date, sex, community, area, street,
         housing_estate, address, delete_flag, old_type, real_type, xiaoqin_card,
         id_card_name, retirement, user_type, gov_admin_id, id_card_address)
        VALUES (#{elderName},
                #{phone},
                #{idCard},
                #{birthDate},
                #{sex},
                #{community},
                #{area},
                #{street},
                #{housingEstate},
                #{address},
                #{deleteFlag},
                #{oldType},
                #{realType},
                #{xiaoqinCard},
                #{idCardName},
                #{retirement},
                #{userType},
                #{govAdminId},
                #{idCardAddress})
        ON DUPLICATE KEY UPDATE elder_name     =VALUES(elder_name),
                                phone          =VALUES(phone),
                                id_card        =VALUES(id_card),
                                birth_date     =VALUES(birth_date),
                                sex            =VALUES(sex),
                                community      =VALUES(community),
                                area           =VALUES(area),
                                street         =VALUES(street),
                                housing_estate =VALUES(housing_estate),
                                gov_admin_id   =VALUES(gov_admin_id),
                                delete_flag    =VALUES(delete_flag),
                                old_type       =VALUES(old_type),
                                real_type      =VALUES(real_type),
                                xiaoqin_card   =VALUES(xiaoqin_card),
                                id_card_name   =VALUES(id_card_name),
                                retirement     =VALUES(retirement),
                                user_type      =VALUES(user_type)
    </insert>

或者:

<insert id="batchInport" parameterType="java.util.List" keyColumn="id" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO user
        (elder_name,phone,id_card,birth_date,sex,community,area,street,
        housing_estate,address,delete_flag,old_type,real_type,xiaoqin_card,
        id_card_name,retirement,user_type,gov_admin_id,id_card_address) VALUES
        <foreach collection="list" item="item" index="index" separator=",">
            ( #{item.elderName},
            #{item.phone},
            #{item.idCard},
            #{item.birthDate},
            #{item.sex},
            #{item.community},
            #{item.area},
            #{item.street},
            #{item.housingEstate},
            #{item.address},
            #{item.deleteFlag},
            #{item.oldType},
            #{item.realType},
            #{item.xiaoqinCard},
            #{item.idCardName},
            #{item.retirement},
            #{item.userType},
            #{item.govAdminId},
            #{item.idCardAddress})
        </foreach>
        ON DUPLICATE KEY UPDATE elder_name =VALUES(elder_name),
        phone =VALUES(phone),
        id_card =VALUES(id_card),
        birth_date =VALUES(birth_date),
        sex =VALUES(sex),
        community =VALUES(community),
        area =VALUES(area),
        street =VALUES(street),
        housing_estate =VALUES(housing_estate),
        gov_admin_id =VALUES(gov_admin_id),
        delete_flag =VALUES(delete_flag),
        old_type =VALUES(old_type),
        real_type =VALUES(real_type),
        xiaoqin_card =VALUES(xiaoqin_card),
        id_card_name =VALUES(id_card_name),
        retirement =VALUES(retirement),
        user_type =VALUES(user_type)
    </insert>

叁:

MYSQL查询字段(strList)中包含(str)的结果

SQL:
①:使用:FIND_IN_SET(str,strList)函数

SELECT	asr.id,	asr.user_id,	asr.lesson_id FROM	answer_system_result asr WHERE	FIND_IN_SET('0',asr.invalid)

②:使用:LOCATE()

SELECT	asr.id,	asr.user_id,	asr.lesson_id FROM	answer_system_result asr WHERE	LOCATE('00:16',asr.compare_results ->'$.answerTime')

肆:

MYSQL查询JSON字段(responsible_area)中包含(“青年路社区”)的结果

JSON字段如下:[{"name": "上城区", "streetList": [{"name": "湖滨街道", "communityList": ["青年路社区", "吴山路社区", "岳王路社区", "东坡路社区", "东平巷社区", "涌金门社区"]}, {"name": "清波街道", "communityList": ["清波门社区", "劳动路社区", "定安路社区", "清河坊社区", "柳翠井巷社区"]}], "streetSize": 2, "communitySize": 11}, {"name": "滨江区", "streetList": [{"name": "西兴街道", "communityList": ["滨和社区", "马湖社区", "协同社区"]}, {"name": "长河街道", "communityList": ["江一社区", "江二社区", "江三社区", "长河社区", "长一社区", "天官社区"]}], "streetSize": 2, "communitySize": 9}]
使用JSON_CONTAINS()

SELECT id,`name`,phone FROM site_staff_admin WHERE JSON_CONTAINS(responsible_area ->'$[*].streetList[*].communityList[*]','["青年路社区"]','$')

伍:

MYSQL 函数RAND() 若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))

如:SELECT FLOOR(1 + (RAND() * 3));
还有别的方法懒得记录了……

陆:

@NotNull和@NonNull区别和使用

@Null 被注释的元素必须为null
@NotNull 被注释的元素不能为null,可以为空字符串
@AssertTrue 被注释的元素必须为true
@AssertFalse 被注释的元素必须为false
@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max,min) 被注释的元素的大小必须在指定的范围内。
@Digits(integer,fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Pattern(value) 被注释的元素必须符合指定的正则表达式。
@Email 被注释的元素必须是电子邮件地址
@Length 被注释的字符串的大小必须在指定的范围内
@Range 被注释的元素必须在合适的范围内
@NotEmpty:用在集合类上,不能为null,并且长度必须大于0
@NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度必须大于0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值