Spring Boot,在应用程序启动后执行某些 SQL 语句
在 Spring Boot 中,如果你想在应用程序启动后执行某些 SQL 语句,可以利用 spring.sql.init 属性来配置初始化脚本。这通常用于在应用启动时创建数据库表、索引、视图等,或者填充默认数据。data-locations 和 schema-locations 指定了 SQL 脚本的位置。这些脚本应该位于类路径中指定的目录下。例如:
src/main/resources/db/schema.sql用于创建数据库结构。src/main/resources/db/data.sql用于插入初始数据。
在 schema.sql 中,你可以编写用于创建表的 SQL 语句:
-- schema.sql 文件内容
CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT,name VARCHAR(100),email VARCHAR(150),PRIMARY KEY (id)
);
在 data.sql 中,你可以插入一些初始数据:
-- data.sql 文件内容
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
核心文件yml文件修改
spring:application:name: demo_1datasource:url: jdbc:mysql://127.0.0.1:3306/shanshui?useUnicode=true&characterEncoding=utf-8&serverTimezoneusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driversql:init:schema-locations: classpath:db/schema.sqldata-locations: classpath:db/data.sqlmode: always
相关文章:
Spring Boot,在应用程序启动后执行某些 SQL 语句
在 Spring Boot 中,如果你想在应用程序启动后执行某些 SQL 语句,可以利用 spring.sql.init 属性来配置初始化脚本。这通常用于在应用启动时创建数据库表、索引、视图等,或者填充默认数据。data-locations 和 schema-locations 指定了 SQL 脚本…...
【SQL】百题计划:SQL最基本的判断和查询。
[SQL]百题计划 Select product_id from Products where low_fats "Y" and recyclable "Y";...
04_Python数据类型_列表
Python的基础数据类型 数值类型:整数、浮点数、复数、布尔字符串容器类型:列表、元祖、字典、集合 列表 列表(List)是一种非常灵活的数据类型,它可以用来存储一系列的元素。容器类型,能够存储多个元素的…...
F5设备绑定EIP
公网IP 公网IP(Public IP Address)是指可以直接在互联网上访问的IP地址,用于标识网络上的设备或主机。它允许外部网络访问您的云服务器,如提供远程登录服务、访问Web服务器等。然而,这并不意味着公网IP不需要路由。 …...
使用 PyCharm 新建 Python 项目详解
使用 PyCharm 新建 Python 项目详解 文章目录 使用 PyCharm 新建 Python 项目详解一 新建 Python 项目二 配置环境1 项目存放目录2 Python Interpreter 选择3 创建隔离环境4 选择你的 Python 版本5 选择 Conda executable 三 New Window 打开项目四 目录结构五 程序编写运行六 …...
从0开始学习 RocketMQ:分布式事务消息的实现
消息队列中的事务,主要是解决消息生产者和消息消费者数据一致性的问题。 应用场景 比如订单系统创建订单后,会发消息给购物车系统,将已下单的商品从购物车中删除。 由于购物车删除商品这一步骤并不是用户下单支付这个主流程中的核心步骤&a…...
MySQL 查询数据库的数据总量
需求:查看MySQL数据库的数据总量,以MB为单位展示数据库占用的磁盘空间 实践: 登录到MySQL数据库服务器。 选择你想要查看数据总量的数据库: USE shield;运行查询以获取数据库的总大小: SELECT table_schema AS Datab…...
[C++]——vector
🌇个人主页:_麦麦_ 📚今日小句:快乐的方式有很多种,第一种便是见到你。 目录 一、前言 二、vector的介绍及使用 2.1 vector的介绍 2.2 vector的使用 2.2.1 vector的定义(构造函数) 2.2.2…...
自动驾驶:LQR、ILQR和DDP原理、公式推导以及代码演示(七、CILQR约束条件下的ILQR求解)
(七)CILQR约束条件下的ILQR求解 CILQR((Constrained Iterative Linear Quadratic Regulator)) 是为了在 iLQR 基础上扩展处理控制输入和状态约束的问题。在这种情况下,系统不仅要优化控制输入以最小化代价函数&#x…...
随想录笔记-二叉树练习题
合并二叉树 617. 合并二叉树 - 力扣(LeetCode) dfs递归 class Solution {public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {if(root1null||root2null){return root1null?root2:root1;}return dfs(root1,root2);}public TreeNode dfs(Tre…...
华雁智科前端面试题
1. var 变量的提升 题目: var a 1 function fun() {console.log(b)var b 2 } fun() console.log(a) 正确输出结果:undefined、1答错了,给一个大嘴巴子,错误答案输出结果为:2,1 此题主要考察 var 定义的变量&…...
【iOS】单例模式
【iOS】单例模式 什么是单例模式? 定义 单例模式,简单地说就是一个类只对应一个对象,每次使用这个类时,都只能获取到那一个对象。它的详细定义如下: 如果一个类始终只能创建一个实例,则这个类被称为单例…...
Linux | 探索 Linux 信号机制:信号的产生和自定义捕捉
信号是 Linux 操作系统中非常重要的进程控制机制,用来异步通知进程发生某种事件。理解信号的产生、阻塞、递达、捕捉等概念,可以帮助开发者更好地编写健壮的应用程序,避免由于未处理的信号导致程序异常退出。本文将带你从基础概念开始&#x…...
递归的时间复杂度分析
确定回溯算法的时间复杂度通常比较复杂,因为它取决于搜索空间的大小以及你的剪枝效率。对于生成从1到n的所有长度为k的组合。分析这类算法的时间复杂度时,我们通常需要考虑递归树的所有可能路径。 组合数 生成的组合数量是从n个元素中选择k个的组合数&…...
C++: 二叉树进阶面试题
做每件事之前都心存诚意, 就会事半功倍. 目录 前言1. 根据二叉树创建字符串2. 二叉树的层序遍历Ⅰ3. 二叉树的层序遍历Ⅱ4. 二叉树的最近公共祖先5. 二叉搜索树与双向链表6. 根据一棵树的前序遍历与中序遍历构造二叉树7. 根据一棵树的中序遍历与后序遍历构造二叉树8. 二叉树的…...
【HarmonyOS NEXT】实现网络图片保存到手机相册
【问题描述】 给定一个网络图片的地址,实现将图片保存到手机相册 【API】 phAccessHelper.showAssetsCreationDialog【官方文档】 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-photoaccesshelper-V5#showassetscreationdialog…...
Pytorch详解-数据模块
Pytorch详解-数据模块 torch.utils.data.Dataset数据交互模块—Dataset的功能示例系列APIsconcatSubsetrandom_splitsampler unsqueeze DataLoaderDataLoader功能支持两种形式数据集读取自定义采样策略自动组装成批数据多进程数据加载自动实现锁页内存(Pinning Memo…...
浅谈openresty
熟悉了nginx后再来看openresty,不得不说openresty是比较优秀的。 对nginx和openresty的历史等在这此就不介绍了。 首先对标nginx,自然有优劣 一、开发难度 nginx: 毫无疑问nginx的开发难度比较高,需要扎实的c/c基础ÿ…...
【学习笔记】2024最新版SpringCloud教程
2024最新版SpringCloud教程 0 前言闲聊开篇简介 1 SpringBoot和SpringCloud版本选型 2 SpringCloud是什么能干吗 3 SpringCloud各组件的停更升级替换说明 4 项目实战之需求说明 5 项目实战之Maven父工程聚合说明和mysql驱动选择 6 项目实战之Mapper4一键生成Dao层代码 …...
Proxyless Service Mesh:下一代微服务架构体系
一、项目背景及意义 在当今的微服务架构中,应用程序通常被拆分成多个独立的服务,这些服务通过网络进行通信。这种架构的优势在于可以提高系统的可扩展性和灵活性,但也带来了新的挑战,比如: 服务间通信的复杂性&#…...
OpenClaw会议纪要神器:GLM-4-7-Flash实时转录与行动项提取
OpenClaw会议纪要神器:GLM-4-7-Flash实时转录与行动项提取 1. 为什么需要本地化的会议纪要工具 上周三的部门例会上,我经历了所有职场人最熟悉的噩梦——会议开到一半,领导突然转向我:"刚才讨论的五个行动项是什么…...
KMS_VL_ALL_AIO:智能激活脚本的高效办公解决方案
KMS_VL_ALL_AIO:智能激活脚本的高效办公解决方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 在数字化办公环境中,Windows系统和Office办公套件的激活管理常常成为用户…...
GTE中文文本嵌入模型实战教程:与LangChain集成构建中文RAG流程
GTE中文文本嵌入模型实战教程:与LangChain集成构建中文RAG流程 1. 引言:为什么需要中文文本嵌入模型 在人工智能快速发展的今天,让计算机真正"理解"中文文本变得越来越重要。无论是智能客服、文档检索还是知识问答,都…...
告别数据孤岛:用RTKLIB str2str打通GNSS设备与上位机的通信全链路
高精度定位系统集成实战:RTKLIB str2str的数据枢纽架构设计 在自动驾驶测试场,一台搭载多传感器阵列的无人车正以厘米级精度重复着轨迹跟踪。工程师们通过监控屏观察着实时定位数据流——Ublox接收机的原始观测值、Septentrio的RTCM差分信号、IMU的惯性数…...
为什么你的局域网速度慢?可能是集线器和交换机的区别没搞懂
为什么你的局域网速度慢?可能是集线器和交换机的区别没搞懂 家里或办公室的网络总是不给力?明明升级了宽带套餐,下载文件时却还是像蜗牛爬行?问题可能出在你忽略的网络设备选择上。许多用户至今仍在用早已淘汰的集线器(…...
YOLO12工业质检场景应用:快速部署检测模型,助力产品缺陷识别
YOLO12工业质检场景应用:快速部署检测模型,助力产品缺陷识别 1. 工业质检的痛点与YOLO12解决方案 在制造业生产线上,产品缺陷检测一直是个老大难问题。传统的人工质检方式存在几个明显短板: 效率低下:工人需要肉眼检…...
【AI图像创作变现】02提示词工程:从基础到精通的风格控制与商业应用
1. 提示词工程:AI图像创作的指挥棒 第一次接触AI绘图时,我像大多数人一样以为随便输入几个词就能得到完美作品。直到看到生成的"四不像"图片才明白,提示词不是许愿池,而是需要精确操作的调色盘。提示词工程本质上是用自…...
Ubuntu24.04上快速部署Odoo18开发环境的完整指南
1. 为什么选择Ubuntu24.04作为Odoo18开发环境 作为一个在ERP领域摸爬滚打多年的开发者,我强烈推荐使用Ubuntu24.04作为Odoo18的开发平台。这不仅仅是因为官方文档的建议,更是来自实际项目中的血泪教训。记得去年接手一个企业ERP项目时,客户坚…...
收藏级|AI岗位全景与转行指南:从技能到Offer(小白/程序员必看)
无论是刚入门的编程小白,还是想转行AI赛道的在职程序员,这份指南都能帮你理清方向——不玩虚的,全是可落地的岗位解析、技能清单、简历技巧和学习路线,收藏起来,跟着走就能少走弯路,高效切入AI领域…...
医学影像融合避坑指南:如何避免MRI-PET配准中的常见伪影问题
医学影像融合避坑指南:如何避免MRI-PET配准中的常见伪影问题 在精准医疗时代,多模态医学影像融合已成为临床诊断和科研分析的重要工具。当我们将功能显像的PET与高分辨率解剖结构的MRI相结合时,理想情况下应该获得"11>2"的互补优…...
