spring提供的SQL工具类执行SQL脚本
发表于|更新于
|浏览量:
方向是比速度更重要的追求。——白岩松
这里主要是用到了org.springframework.jdbc.datasource.init.ScriptUtils#executeSqlScript(java.sql.Connection, org.springframework.core.io.Resource)方法
例如
1 | @BeforeAll |
这样的话就可以使用resources目录下的init.sql
相关推荐
2020-11-11
springbootのmybatis-plus日志打印
只需要在yml中配置 123456789101112131415161718spring: cloud: alicloud: access-key: secret-key: oss: endpoint: bucket: redis: host: localhost port: 6379 datasource: url: jdbc:sqlite:data.db driver-class-name: org.sqlite.JDBC# mybatis的配置mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 配置完成后重启即可
2021-04-04
全局日期请求转换处理
大部分人在二三十岁上就死去了,因为过了这个年龄,他们只是自己的影子,此后的余生则是在模仿自己中度过,日复一日,更机械,更装腔作势地重复他们在有生之年的所作所为,所思所想,所爱所恨。——《约翰 • 克利斯朵夫》 我们在开发中对于日期,如果是协商好,请求发送指定格式的日期字符串 我们这边再转换成对应日期格式,如果每个都一个一个来转,非常麻烦,不方便 这里介绍一种全局的mvc转换方式 使用@InitBinder注解以及Jackson2ObjectMapperBuilderCustomizer 如果我们使用application/x-www-form-urlencoded接参,则@InitBinder上场了 只需要在Controller中写下如下代码 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667public static final String DATE_TIME_PATTERN...
2021-10-12
mybatis-plus过滤不需要查询的字段
仁义忠信,乐善不倦,此天爵也 。一一孟子 之前写过过滤出需要查询的字段,也简单介绍了下Mybatis-Plus的select函数 今天写了个小函数,可以直接传入不需要查询出来的字段 12345678910111213/** * 过滤不需要查询的字段 * * @param wrapper 条件构造器 * @param functions 字段 * @return com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<T> * @author <achao1441470436@gmail.com> * @since 2021/10/12 15:51 */@SafeVarargspublic static <T> LambdaQueryWrapper<T> filterProperties(LambdaQueryWrapper<T> wrapper, SFunction<T, Serializable>... functions)...
2025-03-23
apache-shenyu插件配置规则处理杂谈
我去旅行,是因为我决定了要去,并不是因为对风景的兴趣。——马尔克斯的《霍乱时期的爱情》 这个issue: https://github.com/apache/shenyu/issues/5966 其中提到由于没有填写handler导致无法提交,于是先临时添加一个必填标识 https://github.com/apache/shenyu-dashboard/pull/525 这里发现有两个Handler的表单项,一眼看过去好像是个BUG,本来是打算合二为一,发现由于此处的设计是两个FormItem,删掉下面的Handler的label,会导致被删除的表单项往左偏移而对不齐 此处介绍一下两个都称之为Handle的表单项的区别,第一个是组件独特的表单项,例如request插件就是request对应的xxx.js,表单项里包含填写多个params、headers、cookies等,如果是其他组件则是填写其他的东西;第二个是在PluginTemplate动态配置出来的 目前的代码逻辑比较绕,大概介绍一下: src/routes/Plugin/Common/Rule.js是一个AddMo...
2022-07-05
List<Map>聚合为单个Map<List>
科学是到处为家的,不过,在任何不播种的地方,是决不会得到丰收的。——赫尔岑 前两天有人给我的项目stream-query提交了PR,新增了一个Collector实现 我稍微研究了一下,发现与Collectors原生命名风格不统一,且不具备Collectors包下面的对象通用性,于是就移除了 但这个功能是可以保留的 我的实现如下: 1234567891011121314151617181920212223242526@Testvoid testReducing() { Set<Map<String, Integer>> nameScoreMapList = Stream.of( new HashMap<String, Integer>() {{ put("苏格拉底", 1); put("特拉叙马霍斯", 3); }}, Co...
2022-03-04
replace、replaceAll、replaceFirst
一年好景君须记,最是橙黄橘绿时。——苏轼 聊聊这仨很常用的函数 我相信很多人也跟我一样也有个误区,错把replace当成replaceFirst,把replaceAll当成replace 实际上,replace函数会替换掉满足字符串中所有出现过第一个参数中的值的地方 例如: 1234 String string = "ruben love strawberry"; String replace = string.replace("r", "");// uben love stawbey 如果我们只需要替换第一处,则需要使用replaceFirst 例如: 1234 String string = "ruben love strawberry"; String replaceFirst = string.replaceFirst("[A-Za-z0-9]", "");// uben love strawberry 并...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog