首页 > 作文

SpringBoot结合Mybatis实现创建数据库表的方法

更新时间:2023-04-04 16:09:32 阅读: 评论:0

目录
前言为什么要通过应用实现创建表的功能准备创建表的 sql 语句实现通过 mybatis 创建数据库表示例在 maven 中引入相关依赖在 springboot 配置文件中添加数据库配置创建测试的 mapper 接口类创建与 mapper 关联的 xml 文件创建用于测试的 controller 类创建 springboot 启动类调用创建表的接口进行测试

前言

系统环境:

java jdk 版本:1.8mysql 版本:8.0.27mybatis 版本:3.5.9spingboot版本: 2.6.2

为什么要通过应用实现创建表的功能

最近接了项目时,由于客户需要分库分表,而且每次手动创建很多表,可能是自己闲麻烦,于是乎就找了一些通过应用自动创建表的解决方案,其中本人比较熟悉使用 mybatis,所以通过博文的形式给大家讲解一下,如何在 springboot 环境中,使用 mybatis 动态的创建数据库中的表的功能。

准备创建表的 sql 语句

创建表 sql 语句,内容如下:

create table if not exists `ur`(    `id`       int(0)      not null auto_increment comment '主键',    `group_id` int(0)      null default null comment '组号',    `urname` varchar(20) null default null comment '用户名',    `password` varchar(20) null default null comment '密码',    primary key (`id`)) engine = innodb  auto_increment = 9  character t = utf8mb4 comment ='用于测试的用户表';

实现通过 mybatis 创建数据库表示例

目的就是解决通过 mybatis 执行创建表的语句,从而实现创建数据库中的表的功能,实现代码如下:

在 maven 中引入相关依赖

在 maven的 pom.xml文件中,引入 springboot、mysql、mybytis 等依赖,内容如下:

<?xml version="1.0" encoding="utf-8"?><project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="/d/file/titlepic/xmlschema-instance"    xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelversion>4.0.0</modelversion>  <parent>    <groupid>org.springframework.boot</groupid>    <artifactid>spring-boot-starter-parent</artifactid>    <version>2.6.2</version>  </parent>  <groupid>club.mydlq</groupid>  <artifactid>springboot-mybatis-create-table-example</artifactid>  <version>1.0.0</version>  <name>springboot-mybatis-example</name>  <description>springboot mybatis create table example project</description>  <properties>    <java.version>1.8</java.version>  </properties>  <dependencies>    <!-- web -->    <dependency>      <groupid>org.springframework.boot</groupid>      <artifactid>spring-boot-starter-web</artifactid>    </dependency>    <!-- lombok -->    <dependency>      <groupid>org.projectlombok</groupid>年终奖计算器      <artifactid>lombok</artifactid>      <optional>true</optional>    </dependency>    <!-- mysql -->    <dependency>      <groupid>mysql</groupid>      <artifactid>mysql-connector-java</artifactid>    </dependency>    <!-- mybatis -->    <dependency>      <groupid>org.mybatis.spring.boot</groupid>      <artifactid>mybatis-spring-boot-starter</artifactid>      <version>2.2.1</version>    </dependency>  </dependencies>  <build>    <plugins>      <plugin>        <groupid>org.springframework.boot</groupid>        <artifactid>spring-bo惠崇春江晚景的意思ot-maven-plugin</artifactid>      </plugin>    </plugins>  </build></project>

在 springboot 配置文件中添加数据库配置

在 springboot 的 application.yml 文件中,添加数据库连接的参数,配置内容如下:

spring: application:  name: springboot-mybatis-create-table-example # 数据库配置 datasource:  type: com.zaxxer.hikari.hikaridatasource  driverclassname: com.mysql.cj.jdbc.driver  url: jdbc:mysql://127.0.0.1:3306/test?rvertimezone=asia/shanghai&uunicode=true&ussl=fal&allowpub交流电源lickeyretrieval=true  hikari:   pool-name: datebookhikaricp   minimum-idle: 5   maximum-pool-size: 15   max-lifetime: 1800000   connection-timeout: 30000   urname: root   password: 123456# 指定 mapper 的 xml 文件位置mybatis: mapper-locations: classpath:mappers/*.xml

创建测试的 mapper 接口类

创建一个用户建表的 mybatis 的 mapper 接口,代码如下:

import org.apache.ibatis.annotations.mapper;@mapperpublic interface tablemapper {  /**  * 创建数据库表  *  * @param tablename 表名称  */  void createtable(string tablename);}

创建与 mapper 关联的 xml 文件

创建一个用于和 mapper 接口关联的 xml 文件 tablemapper.xml,在里面添加用于创建表的 sql 语句,内容如下:

<?xml version="1.0" encoding="utf-8"?><!doctype mapper public "-//mybatis.org//dtd mapper 3.0//en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="club.mydlq.mappers.tablemapper">  <!--创建表的 sql 语句-->  <update id="createtable" parametertype="java.lang.string">    create table if not exists `${tablename}`    (      `id`    int(0)   not null auto_increment comment '主键',      `group_id` int(0)   null default null comment '组号',      `urname` varchar(20) null default null comment '用户名',      `password` varchar(20) null default null comment '密码',      primary key (`id`)    ) engine = innodb     auto_increment = 9     character t = utf8mb4 comment ='用于测试的用户表';  </update></mapper>

创建用于测试的 controller 类

创建一个用于测试的 controller 类,里面提供一个创建表的接口,代码如下:

import club.mydlq.mappers.tablemapper;import org.springframework.http.responentity;import org.springframework.web.bind.annotation.*;import javax.annotation.resource;@restcontrollerpublic class testcontroller {  @resource  private tablemapper tablemapper;  /**  * 创建数据库表  *  * @param tablename 表名称  * @return 是否创建成功  */  @postmapping("/createtable")  public responentity<string> createtabletest(@requestparam string tablename) {    try {      // 创建数据库表      tablemapper.createtable(tablename);    } catch (exception e) {      return responentity.status(500).body("创建数据库表失败");    }    return responentity.ok("创建数据库表成功");  }}

创建 springboot 启动类

创建一个用于启动 springboot 的启动类,代码如下:

import org.springframework.boot.springapplication;import org.springframework.b休假条oot.autoconfigure.springbootapplication;@springbootapplicationpublic class application {  public static void main(string[] args) {    springapplication.run(application.class, args);  }}

调用创建表的接口进行测试

执行 curl 命令,使用 post 方法调用之前示例项目 controller 类中提供的创建表接口 /createtable,在数据库 test 中创建一个 ur 表:

$ curl -x post http://localhost:8080/createtable?tablename=ur

执行完接口后,再进入数据库,输入下面命令观察库中是否创建包成功:

mysql> u test;databa changedmysql> show tables;+----------------------------------------+| tables_in_test             |+----------------------------------------+| ur                  |+----------------------------------------+1 rows in t (0.00 c)

可以看到 test 库中已经成功创建了 ur 表。

到此这篇关于springboot结合mybatis实现创建数据库表的方法对老婆的甜言蜜语的文章就介绍到这了,更多相关springboot mybatis创建数据库表内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-04 16:09:12,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/405b9bd84546455d17ee175d61a5dea7.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:SpringBoot结合Mybatis实现创建数据库表的方法.doc

本文 PDF 下载地址:SpringBoot结合Mybatis实现创建数据库表的方法.pdf

标签:数据库   接口   语句   测试
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图