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') >= date_format(#{beginCreateTime},'%Y-%m-%d %H:%i:%s')
and date_format(continuity_risk.create_time,'%Y-%m-%d %H:%i:%s') <= 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 | 用来引用其他类-按名匹配 |
@RestController | Controller层注解 |
@Controller | Controller层注解 |
@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”