当前位置: 首页 > news >正文

南平做网站手机链接ppt在哪个网站做

南平做网站,手机链接ppt在哪个网站做,微信管理员怎么设置,查域名注册信息一、需求 在项目启动时#xff0c;自动新建数据表 二、实现思路 创建触发类 实现SpringBoot的ApplicationRunner接口 编写建表语句常量 实现run方法#xff0c;并在run方法中使用JDBC工具类的建表方法#xff0c;传入建表语句常亮#xff0c;完成建表 三、代码实现自动新建数据表 二、实现思路 创建触发类 实现SpringBoot的ApplicationRunner接口 编写建表语句常量 实现run方法并在run方法中使用JDBC工具类的建表方法传入建表语句常亮完成建表 三、代码实现末尾附完整代码 创建触发类实现ApplicationRunner接口 import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.annotation.Order; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component;import javax.annotation.Resource; import java.util.HashMap;/*** 项目启动的程序触发器** author Odinpeng* since 2023/11/29**/Slf4j Component Order(0) //表示触发的顺序越小越靠前 public class TableBuildingTrigger implements ApplicationRunner {}注 一个项目可以有多个启动触发器 Order的value属性表示启动触发器的执行顺序 value属性越小该启动触发器的执行顺序越靠前可以为负数 编写建表语句常量 // 建表语句1private static final String USER_TABLE CREATE TABLE user_table ( id Integer NOT NULL COMMENT id, username varchar(20) NOT NULL COMMENT 用户名, password varchar(4) NOT NULL COMMENT 密码, PRIMARY KEY (id) ) COMMENT用户表;// 建表语句2private static final String ORDER_TABLE CREATE TABLE order_table ( id Integer NOT NULL COMMENT id, orderName varchar(20) NOT NULL COMMENT 订单名, price Integer NOT NULL COMMENT 价格, PRIMARY KEY (id) ) COMMENT订单表;引入JDBC工具类实现ApplicationRunner接口的run方法完成建表 // 重写run方法Overridepublic void run(ApplicationArguments args) throws Exception {// 将表名和建表语句存入mapHashMapString, String tableMap new HashMapString, String() {{put(user_table, USER_TABLE);put(order_table, ORDER_TABLE);}};// 遍历建表tableMap.forEach((key, value) - {//执行建表方法在建表方法中判断当前表是否存在if (!checkTable(key, value)) {log.error(初始化{}核心配置表失败执行sql:{}, key, value);throw new BizException(建表失败);}});}/*** 检查表是否存在不存在新建表** param tableName 表名* param createSql 建表语句* return*/private boolean checkTable(String tableName, String createSql) {// 查询指定表名的数量String sql select count(table_name) from information_schema.tables where table_name like %s;// 将表名动态拼接到以上sql中String querySql String.format(sql, tableName);Integer total jdbcTemplate.queryForObject(querySql, Integer.class);// 若查询指定表名的数量0说明当前表不存在则新增表if (total 0) {// 查询当前数据库版本String versionSql select version();String version jdbcTemplate.queryForObject(versionSql, String.class);// 若当前数据库版本为5.7开头则将字符集由utf8mb4替换为utf8MySQL5.7默认字符集是utf8mb4支持4字节字符而utf8支持3字节if (version.startsWith(5.7)) {createSql createSql.replaceAll(utf8mb4, utf8);}// 新建表int update jdbcTemplate.update(createSql);if (update 0) {return false;}}return true;}四、完整代码 import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.annotation.Order; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component;import javax.annotation.Resource; import java.util.HashMap;/*** 项目启动的程序触发器** author Odinpeng* since 2023/11/29**/Slf4j Component Order(0) //表示触发的顺序越小越靠前 public class TableBuildingTrigger implements ApplicationRunner {// 引入JDBC工具类用于建表和查询表是否存在Resourceprivate JdbcTemplate jdbcTemplate;// 建表语句1private static final String USER_TABLE CREATE TABLE user_table ( id Integer NOT NULL COMMENT id, username varchar(20) NOT NULL COMMENT 用户名, password varchar(4) NOT NULL COMMENT 密码, PRIMARY KEY (id) ) COMMENT用户表;// 建表语句2private static final String ORDER_TABLE CREATE TABLE order_table ( id Integer NOT NULL COMMENT id, orderName varchar(20) NOT NULL COMMENT 订单名, price Integer NOT NULL COMMENT 价格, PRIMARY KEY (id) ) COMMENT订单表;Overridepublic void run(ApplicationArguments args) throws Exception {// 将表名和建表语句存入mapHashMapString, String tableMap new HashMapString, String() {{put(user_table, USER_TABLE);put(order_table, ORDER_TABLE);}};// 遍历建表并查询表是否存在tableMap.forEach((key, value) - {//执行建表方法在建表方法中判断当前表是否存在if (!checkTable(key, value)) {log.error(初始化{}核心配置表失败执行sql:{}, key, value);throw new BizException(建表失败);}});}/*** 检查表是否存在不存在新建表** param tableName 表名* param createSql 建表语句* return*/private boolean checkTable(String tableName, String createSql) {// 查询指定表名的数量String sql select count(table_name) from information_schema.tables where table_name like %s;// 将表名动态拼接到以上sql中String querySql String.format(sql, tableName);Integer total jdbcTemplate.queryForObject(querySql, Integer.class);// 若查询指定表名的数量0说明当前表不存在则新增表if (total 0) {// 查询当前数据库版本String versionSql select version();String version jdbcTemplate.queryForObject(versionSql, String.class);// 若当前数据库版本为5.7开头则将字符集由utf8mb4替换为utf8MySQL5.7默认字符集是utf8mb4支持4字节字符而utf8支持3字节if (version.startsWith(5.7)) {createSql createSql.replaceAll(utf8mb4, utf8);}// 新建表int update jdbcTemplate.update(createSql);if (update 0) {return false;}}return true;} }
http://www.pierceye.com/news/938830/

相关文章:

  • 网站批量查询工具做影视外包的网站
  • 营销型网站建设试题html5网站网址
  • 网站建设策划书(建设前的市场分析)环球资源网的定位
  • 上海企业都用什么网站网站公司建站
  • 华为云速建站可以做英文网站高端服装产品网站建设
  • 网站建设中html 下载哪个平台做网站比较好
  • 成都网站设计哪家比较好邯郸市空船网络科技有限公司
  • 网站制作类软件推荐南昌网站建设推广专家
  • 做英文兼职的网站四川路桥建设股份有限公司网站
  • 电商网站开发的意义传统营销
  • 怎么自己创建网站或者app足球世界排名
  • 营站快车代理平台跑腿网站开发
  • 免费自助建站系统下载html5手机网站制作
  • 工信部网站怎么查网址邹平县建设局网站
  • 郑州有学网站制作网站背景修改
  • 免费建建网站域名没过期 网站打不开怎么办
  • 单页企业网站模板WordPress社团展示
  • 网站建设需要具备什么条件网站首页新世纪建设集团有限公司
  • 网站怎样做超链接si设计公司
  • 婚恋网站排名前三wordpress首页设置成文章还是页面
  • 制作网站 优帮云一键提交各大收录
  • 网站要怎么做才专业2022电商平台用户排行榜
  • 男男做暧网站免费网站建设期末论文
  • 电子政务门户网站建设wordpress 导入
  • 江苏建设监理协会网站网站建设siteserver
  • 家庭做网站做网站服务器可以挂到外地么
  • 做相册的网站 网易wordpress云服务器
  • 国内网站没备案自己做外贸购物网站
  • 国外h5网站模板下载长沙快速建站模板
  • 湛江网站建设方案找工程项目