h2初始化小技巧
发表于|更新于
|浏览量:
居不幽者志不广,不愁者思不远。——冯梦龙
今天在
https://github.com/apache/incubator-streampark/pull/3759/files
看到一个小技巧
主要就是这里
1 | "jdbc:h2:file:%s;MODE=MySQL;DB_CLOSE_DELAY=-1;DATABASE_TO_LOWER=true;INIT=runscript from 'classpath:db/schema-h2.sql'" |
我发现可以使用
1 | INIT=runscript from 'classpath:db/schema-h2.sql' |
拼接在url后面
这样在h2初始化时可以自动执行相关脚本,非常nice
相关推荐
2021-01-23
DTO、TO、VO、PO、DO、BO、AO、DAO、POJO
人的一生,应当像这美丽的花,自己无所求,而却给人间以美。——杨沫 之前一直有朋友问我Java中DTO、TO、VO、PO、DO、BO、AO、DAO、POJO这么多O到底是什么意思,看博客看不懂,有没有实际的例子 当然,这些O是出自《阿里Java开发手册》 POJO(Plain Ordinary Java Object): 在本规约中,POJO 专指只有 setter/getter/toString 的 简单类,包括 DO/DTO/BO/VO 等。 AO(Application Object): 阿里巴巴专指 Application Object,即在 Service 层上,极为贴近 业务的复用代码。 我就说说我的理解吧,顺带写点例子 这里就写个根据用户名、分页参数查询用户列表的例子吧 DTO(Data Transfer Object)数据传输对象 首先我们接口接参可以使用DTO,简单来说就是Controller中函数的参数,例如下面的PageDTO 12345678910111213141516171819@Data...
2024-12-12
websocket关闭指定原因
如果没有宽恕之心,生命会被无休止的仇恨和报复所支配。——阿萨吉奥 WebSocket 是一种轻量级、双向的实时通信协议,在现代 Web 应用中非常流行。它为客户端和服务端提供了长连接能力,适用于需要频繁数据交互的场景。然而,在实际开发中,我们经常需要处理 WebSocket 的关闭事件,而 关闭状态(CloseStatus) 是其中一个重要的概念,它能够帮助开发者理解连接关闭的原因,从而采取相应的措施。 什么是 CloseStatus?在 WebSocket 协议中,每次连接关闭都会携带一个 关闭码(close code) 和可选的 关闭原因(reason phrase)。这些关闭码由 RFC 6455 定义,表示连接关闭的原因。例如: 1000 (Normal Closure): 正常关闭,表示连接完成。 1001 (Going Away): 客户端或服务端主动断开(例如页面关闭)。 1002 (Protocol Error): 协议错误。 1003 (Unsupported Data): 不支持的数据类型。 在 Spring Framework 中,org.sprin...
2022-09-27
graphql-java
不会哭的年轻人是野蛮人,不想笑的老年人是傻瓜——桑塔亚娜 前两天写了graphql的简单介绍博客 今天来拿java简单入个门,首先新建一个项目,因为我这里是用我自己熟悉的方式去写,所以包含了一些看不懂的写法,过两天在写一个保姆级教程 项目地址:https://gitee.com/VampireAchao/simple-graphql 运行springboot主启动类,然后访问 http://localhost:8080/ 可以看到这样一个页面 我们可以在左侧编写graphql的查询语句,点击运行按钮,比如分页查询用户 123456789101112131415{ users(current: 1, size: 2) { current size total records { id name roles { id roleName } } }} 这里这些字段如果不清楚,可以点右侧的Docum...
2022-12-09
Comparable泛型踩坑
善疑人者,人亦疑之;善防人者,人亦防之。——刘基 之前写的Comparable解决泛型限定问题 遇到了这种情况: 这是因为LocalDate没有实现Comparable<LocalDate> 而是由其实现的接口ChronoLocalDate去继承的Comparable<ChronoLocalDate> 并且LocalDate去实现的Serializable,而不是ChronoLocalDate 我们这里直接用的T extends Comparable<T>,此处传了LocalDate就是extends Comparable<LocalDate> 和实现Serializable的不是同一层级,所以我们需要指定为Comparable<? super T>,这个意思就是说允许Comparable里的类型是它的父类或者接口,具体super和extends区别可以看泛型的super和extends 改成Comparable<? super T>后,编译通过
2021-05-23
springboot默认跳转/error页面变更
宁鸣而死,不默而生。——胡适 宁鸣而死,不默而生。——胡适 在开发中我们经常看到这样一个页面 意思是告诉你,没有映射到/error对应的视图 这个是从哪里出现的呢? 我们找到org.springframework.boot.autoconfigure.web.servlet.error包下面 这里我们看到ErrorMvcAutoConfiguration,因为springboot自动装配就是这些xxxAutoConfiguration去完成的 打开一看,发现:诶?!这里有这样一段代码 这段代码告诉我们,如果在没注入ErrorViewResolver并且注入了DispatcherServlet这个bean的情况下,则注入一个叫DefaultErrorViewResolver的bean 如果你现在就想知道怎么修改默认的/error路径映射? 那可以直接注入一个ErrorViewResolver 在你的任意一个配置类中,我建议是放到Mvc配置类中 12345678910111213141516171819202122232425/** * web配置类 * * @auth...
2021-09-09
shaun中在不需要安全拦截的接口获取用户信息
我将仇恨写在冰上,然后期待太阳的升起。——加西亚马尔克斯 这里Opt用的是之前博客提到的复制修改过的Optional: https://VampireAchao.github.io/2021/07/19/%E6%96%B0%E7%89%88Optional/ shaun我之前也稍微写过:https://VampireAchao.github.io/2021/09/02/shaun/ 代码很简单: 1234567891011/** * 获取用户信息 * * @return com.baomidou.shaun.core.profile.TokenProfile * @author <achao1441470436@gmail.com> * @since 2021/9/9 10:33 */public static Opt<TokenProfile> getProfile() { final JEEContext context = WebUtil.getJEEContext(false); return Opt.ofNullable...
