个人笔记——开发笔记

C#/.Net

数据库(orcal/mysql)

Mybatis
<!--查询某列的值是否在List中,在则返回-->
    <sql id="BaseWhere">
        <where>
        <trim prefixOverrides="and">
        	<!--查询条件:判断某个值是否在传入的集合中-->
            <if test="factoryList != null and factoryList.size != 0">
                and factory_code in
                <foreach collection="factoryList" item="factoryCode" open="(" separator="," close=")">
                    #{factoryCode}
                </foreach>
            </if>
            <!--查询条件:日期在某个集合内的写法-->
            <if test="lpmCreateDateStart != null and lpmCreateDateEnd != null">
                    and date_format(lpm_create_time,'%Y-%m-%d 00:00:00') <![CDATA[  >=  ]]> date_format(#{lpmCreateDateStart,jdbcType=TIMESTAMP},'%Y-%m-%d 00:00:00')
                    and date_format(lpm_create_time,'%Y-%m-%d 00:00:00') <![CDATA[  <=  ]]> date_format(#{lpmCreateDateEnd,jdbcType=TIMESTAMP},'%Y-%m-%d 00:00:00')
            </if>
            <!--查询条件:日期在某个集合内的写法-->
             <if test="beginCreateTime != null and endCreateTime != null">
                    and date_format(continuity_risk.create_time,'%Y-%m-%d %H:%i:%s') &gt;= date_format(#{beginCreateTime},'%Y-%m-%d %H:%i:%s')
                    and date_format(continuity_risk.create_time,'%Y-%m-%d %H:%i:%s') &lt;= date_format(#{endCreateTime},'%Y-%m-%d %H:%i:%s')
             </if>
        </trim>
        </where>
    </sql>
<!--批量更新的实现方法:根据id更新:注意需要一个属性值写一个trim标签-->
<update id="batchUpdateById" parameterType="java.util.List">
        update continuity_kitting_risk
        <trim prefix="set" suffixOverrides=",">
            <trim prefix="kit_risk_factory =case" suffix="end,">
                <foreach collection="list" item="i" index="index">
                    <if test="i.kitRiskFactory!=null and i.kitRiskFactory!=''">
                        when kit_risk_id = #{i.kitRiskId,jdbcType=BIGINT} then #{i.kitRiskFactory,jdbcType=VARCHAR}
                    </if>
                </foreach>
            </trim>
            <trim prefix="kit_risk_suppliers_product_num =case" suffix="end,">
                <foreach collection="list" item="i" index="index">
                    <if test="i.kitRiskSuppliersProductNum!=null and i.kitRiskSuppliersProductNum!=''">
                        when kit_risk_id = #{i.kitRiskId,jdbcType=BIGINT} then #{i.kitRiskSuppliersProductNum,jdbcType=VARCHAR}
                    </if>
                </foreach>
            </trim>
        </trim>
        where
        <foreach collection="list" separator="or" item="i" index="index">
            kit_risk_id = #{i.kitRiskId,jdbcType=BIGINT}
        </foreach>
 </update>

MySQL查询在使用的表和正在进行的进程
show open tables where in_use>0;
show PROCESSLIST;
SELECT * FROM information_schema.INNODB_TRX;
show global variables like ‘wait_timeout’;

java

Tomcat修改启动名称:bin>catalina.bat if “%TITLE%” == set TITLE = 项目名称

注解
注解用途
@Transactional(rollbackFor = Exception.class)异常回滚注解:遇到所有异常都会回滚
@Service(“stockInOutRecordService”)service层注解,写在service层接口的实现类上
@Override用在实现接口功能的方法上
@Autowired用来引用其他类
@Resource用来引用其他类-按名匹配
@RestControllerController层注解
@ControllerController层注解
@RequestMapping(“/continuance”)请求-用在类上
@PostMapping(“/addTargetValue”)请求-用在方法上
@GetMapping(“/breathDetailList”)请求-用在方法上-无参
@PathVariable(“targetId”)链接:/selectAllProduct/{targetId} 中 targetId 的值,用在接收参数前
@RequestBody用在接收参数前,参数一般为实体/已有直接用在接收方法上的情况
@RequestParam(“factoryCode”)链接:/base_data?factory=123&online_point_code=123; 中factory的值,用在接收参数前
@Param(“billsCode”)用在Mapper接口给Mapper.xml传的参数前
@Repository用在Mapper接口文件上
@Mapper用在Mapper接口文件上
@Component注解
@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)用于接收日期的格式-用于实体类的属性上
@JsonFormat(pattern = “yyyy-MM-dd”)用于传递日期的格式-用于实体类的属性上
关于List的一些操作
//根据某一列的值是否一致分组
Map<Long,List<dataEntity>> entityGroupById=list.stream().collect(Collectors.groupingBy(dataEntity::getLpmId));
//根据某个值排序
List<LogisticsPlanMapDetail> dealList = entityGroupById.get(key).stream().sorted(Comparator.comparing(LogisticsPlanMapDetail::getLpmdType)).collect(Collectors.toList());
//list转Map Map的key取list实体的某个属性,需要保证唯一
Map<Integer,LogisticsPlanMapDetail> dealList = exit.stream().collect(Collectors.toMap(LogisticsPlanMapDetail::getLpmdType,o->o));
//得到list中满足某些或某个条件的数据的条数
double sumCount = (double) factoryMap.get(item).stream().filter(a -> a.getTargetCloseWarningValues().equals(num1)).count();
//取出list中某个属性的全部值(过滤空值)并去重
List<Long> ids= list.stream().filter(o->o.getId()!=null).map(Entity::getId).distinct().collect(Collectors.toList());
//toMap冲突处理-出现相同的key值用后边的覆盖前边的
Map<String, String> dataMap = dataList.stream().collect(Collectors.toMap(Entity::getCode, Entity::getName, (value1, value2) -> value2));
//list逆序
Collections.reverse(list);
//json中获取list的两种方式
List<Entity> list= userFactoryRe.getJSONArray("rows").toJavaList(Entity.class);
List<Entity> list= JSONObject.parseArray(jsonObject.getString("districts"), Entity.class);
		//@RequestBody参数    MAP 转 JSON
		ServiceClass service = SpringContextUtil.getBean(ServiceClass.class);
		Map<String, Object> map = new HashMap<String, Object>();
        map.put("levelNumber", 3);
        map.put("nodeCode","A30");
        map.put("beginDate","1645177800");
        map.put("endDate","1645177860");
        JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(map));
        JSONObject result = service.methodToGetData(jsonObject);
        //此方法为处理实例中每个属性的值-为空则置为null
        private void dealEmptyData(Object dealEntity) throws IllegalAccessException {
        Field[] fields = dealEntity.getClass().getDeclaredFields();
        for (Field field : fields) {
            field.setAccessible(true);
            if(field.get(dealEntity)!=null){
                String value = field.get(dealEntity).toString();
                if(StringUtils.isEmpty(value)){
                    field.set(dealEntity,null);
                }
            }
        }
    }
  • 传空值时 null 会使Mybatis 报错 无效的列类型:111
    此时应该去检查传入的参数 若需要为空则在传入的空值后面加上对应的数据类型即可
  • 后端忘记写get set 方法 会导致前端接收到的值为null(此时后端显示传值不为null)
  • idea启动项目遇到 不能解析依赖包 | 将项目中的子项目进行打包 | clean -> package ->install

kotlin

安卓项目gradle配置:distributionUrl=https://downloads.gradle-dn.com/distributions/gradle-6.7.1-all.zip

雷电模拟器连接AS:adb.exe connect 127.0.0.1:5555

遇到构建失败:
Cause: unable to find valid certification path to requested target
找到 build.gradle文件:
改为以下代码:
repositories {
maven { url ‘https://maven.aliyun.com/nexus/content/repositories/google’ }
maven { url ‘https://maven.aliyun.com/nexus/content/repositories/jcenter’}
}

Vue

取消npm的验证------------------: npm set strict-ssl false
强制清除npm缓存---------------: npm cache clear --force
降低版本---------------------------: npm install npm@6.14.14 -g
单独安装----------npm install deasync@0.1.21 --ignore-scripts
报错find python 问题 管理员–: npm install --global --production windows-build-tools
遇到安装python卡住不动:
win+R 输入 %temp% 创建dd_client_.log文件,加入一行 Closing installer. Return code: 3010.

Windows

远程桌面:cmd > mstsc
本机ip地址、默认网关、子网掩码:cmd > ipconfig
服务器运行jar包: cmd> java –jar + 包名.jar
登录时遇到凭据不工作:(缺少域账户):corp\用户名

--MySQL查询在使用的表和正在进行的进程
show open tables where in_use>0;
show PROCESSLIST;
SELECT * FROM information_schema.INNODB_TRX;
show global variables like 'wait_timeout';

var code = “d2ac1b1f-179f-4cfb-9442-26bb656740c6”

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值