一、SpringBoot try…catch回滚事务
-
方法上添加注解
@Transactional -
标记回滚开始节点
Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); -
启动回滚
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
二、MyBatis查询关联
-
mybatis一对多(ofType:关联表,column:外键)
<resultMap id="resultMap" type="com.wade.www.entity.Entity1"> <result property="id" column="id"/> <result property="name" column="name"/> <collection property="entity2List" column="{entity2Id=id}" ofType="com.wade.www.entity.Entity2" javaType="ArrayList" select="com.wade.www.mapper.Entity2Mapper.queryById"> </collection> </resultMap>
三、文件与String的相互转换
-
文件转String
private String fileToString(String pathStr) { File file = new File(pathStr); try { FileInputStream fis = new FileInputStream(file); ByteArrayOutputStream bos = new ByteArrayOutputStream(1000); byte[] b = new byte[1000]; int n; while ((n = fis.read(b)) != -1) { bos.write(b, 0, n); } fis.close(); byte[] data = bos.toByteArray(); bos.close(); return Base64.getEncoder().encodeToString(data); } catch (Exception e) { e.printStackTrace(); } return null; } -
String转文件
public static void StringToFile(String base64file, String filePath, String fileName) throws Exception { byte[] bytes = Base64.getDecoder().decode(base64file); BufferedOutputStream bos = null; FileOutputStream fos = null; File file; try { File dir = new File(filePath); if (!dir.exists() && !dir.isDirectory()) {// 判断文件目录是否存在 dir.mkdirs(); } file = new File(filePath + "\\" + fileName); fos = new FileOutputStream(file); bos = new BufferedOutputStream(fos); bos.write(bytes); } catch (Exception e) { throw new Exception("文件传输失败!"); } finally { if (bos != null) { try { bos.close(); } catch (IOException e) { e.printStackTrace(); } } if (fos != null) { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } }
四、String转map,排序问题处理
HashMap<String, Object> jsonMap = JSON.parseObject(str,
new TypeReference<HashMap<String, Object>>() {}, Feature.OrderedField);
五、时间字段问题(格式化、保存)
- 实体转json时间格式化失效:@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
// 添加此注解即可 @JSONField(format = "yyyy-MM-dd HH:mm:ss") - 字段传入为空时数据库不更新
// 添加此注解即可 @TableField(updateStrategy = FieldStrategy.IGNORED)
五、达梦数据
- windows版本导入导出
导出 dexp USERID=账号/"""密码"""@服务器:5236 FILE=center0724.dmp DIRECTORY=G:\111-AAA\DM\backup SCHEMAS=数据库名 导入 dimp USERID=账号/"""密码"""@服务器:5236 FILE=center0724.dmp DIRECTORY=G:\111-AAA\center0724 SCHEMAS=数据库名
六、ElementUI中Cascader级联选择器实现点击文本选中
-
利用Cascader的属性:popper-class(自定义浮层类名),增加CSS解决问题。
<el-cascader v-model="editForm.channel" :options="channelList" :props="{ multiple: true, checkStrictly: true, emitPath: false, value: 'id', label: 'channel_name' }" clearable style="width: 100%;" popper-class="popper" // 这个是重点 > </el-cascader> -
增加对应的CSS
/* 级联 */ .popper .el-cascader-panel .el-radio { width: 100%; height: 100%; z-index: 10; position: absolute; top: 0px; right: 0px; } .popper .el-cascader-panel .el-checkbox { width: 100%; height: 100%; z-index: 10; position: absolute; top: 0px; right: 0px; } .popper .el-cascader-panel .el-radio__input { margin-top: 10px; margin-left: 8px; } .popper .el-cascader-panel .el-checkbox__input { margin-top: 2px; margin-left: 8px; } .popper .el-cascader-panel .el-cascader-node__postfix { top: 10px; }
七、windows,docker配置Docker Engine
"registry-mirrors": [
"https://docker.1panelproxy.com",
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://your_preferred_mirror",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
```
TODO..
本文涵盖SpringBoot事务回滚、MyBatis关联查询、文件与字符串互转、JSON解析、达梦数据库操作、ElementUI组件定制等实用技术点,旨在提升开发效率与代码质量。
5万+

被折叠的 条评论
为什么被折叠?



