个人笔记——开发笔记

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”


__EOF__

本文作者Stdio.Qu
本文链接https://www.cnblogs.com/czarQ/p/17537212.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   沉淀i  阅读(11)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示