springboot如何创建数据库表

Spring_Boot专栏
上一篇主目录 下一篇

目录

【前言】
创建数据库表 是在配置好阿里Druid连接池的前提下配置的,在配置Druid时已经配置过url、username、password等基本信息。配置Druid的方法


创建方法

前提:之前已经配置好阿里Druid的数据源了:配置方法

第一步:将.sql文件放在resources/sql/文件夹下:
在这里插入图片描述

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for department
-- ----------------------------
DROP TABLE IF EXISTS `department`;
CREATE TABLE `department` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `departmentName` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for employee
-- ----------------------------
DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `lastName` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `gender` int(2) DEFAULT NULL,
  `d_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

第二步:在配置文件中添加schema
我这里用的是application.properties,添加的配置如下:

#数据库表schema.运行一次创建数据库之后需要注释掉,不然每次都会创建新的表
spring.datasource.schema= classpath:sql/department.sql,classpath:sql/employee.sql
spring.datasource.initialization-mode=always
  • 【注】springboot2.x版本需加上spring.datasource.initialization-mode=always
  • application.properties中spring.datasource.schema值有两个用,分隔
  • 如果是application.yml,则写法为:
    在这里插入图片描述
    注意:在运行一次之后需要把schema给注释掉,不然每次启动时都会在数据库中建立新的表,而原来数据库中的表会被删除。因此会出现每次启动得到的都是没有数据的空表!!!

第三步:启动运行主类,就可以将sql执行,写入mysql数据库
结果:在这里插入图片描述

Spring Boot创建数据库需要以下几个步骤: 1. 配置数据库连接:在 `application.properties` 或 `application.yml` 文件中添加数据库连接的配置信息。例如,如果你使用的是 MySQL 数据库,可以使用以下配置: ```yaml spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=root spring.datasource.password=yourpassword spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 2. 创建实体类:使用 Java 类来示数据库中的。可以使用 JPA 注解来定义实体类与数据库之间的映射关系。例如,创建一个名为 `User` 的实体类: ```java @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String password; // 省略其他属性和方法 } ``` 3. 创建数据访问层接口:创建一个数据访问层(Repository)接口,用于定义对数据库进行增删改查操作的方法。可以使用 Spring Data JPA 提供的接口和方法命名规则,无需手动实现这些方法。例如,创建一个名为 `UserRepository` 的接口: ```java @Repository public interface UserRepository extends JpaRepository<User, Long> { User findByUsername(String username); } ``` 4. 数据库自动创建:在启动类上添加 `@EnableJpaRepositories` 和 `@EntityScan` 注解,以便 Spring Boot 自动扫描并创建数据库。例如: ```java @SpringBootApplication @EnableJpaRepositories("com.example.repository") @EntityScan("com.example.entity") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 5. 数据库迁移工具(可选):如果你需要对数据库进行版本控制和管理,可以使用数据库迁移工具如 Flyway 或 Liquibase。这些工具可以帮助你管理数据库的版本和变更脚本。 以上步骤可以帮助你在 Spring Boot创建数据库,并进行基本的增删改查操作。根据具体需求,你可以进一步扩展和定制数据库的功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值