国产肛交

成人黄色小说 java剧本之导出数据表SQL-CSDN博客

发布日期:2025-01-09 10:40    点击次数:125

成人黄色小说 java剧本之导出数据表SQL-CSDN博客

导出数据表SQL,相似咱们会使用第三方器具,如Navicat等,导出可保存为剧本成人黄色小说,可重迭实施,格外直率了。若是不条款剧本无邪性,使用器具诚然更香了。

第三方包
<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.5</version>
</dependency>
数据库成立

创建db.setting文献,放 /resources 文献夹即可,维持大皆据源,界说多个 [xxx] 即可

## 数据库贯穿信息
[test-db-dev]
url = jdbc:mysql://xx.xxx.xxx.xxx:3306/test_db
user = root
pass = xxxxxx
剧本
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.file.FileWriter;
import cn.hutool.core.text.StrBuilder;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.db.Db;
import cn.hutool.db.DbUtil;
import cn.hutool.db.Entity;
import cn.hutool.db.ds.DSFactory;
import lombok.Data;
import lombok.SneakyThrows;
import lombok.experimental.Accessors;

import java.io.File;
import java.util.List;

/**
 * 生成的sql:删除表 + 创建表 + insert
 *
 * @author jason
 */
public class CreateAndInsertSqlJob {
    private static final String FILE_NAME = "/data/sql/【系统生成】删除表+创建表+insert.sql";

    /**
     * 需要生成的表
     */
    private static final List<TempBean> CONFIG_LIST = CollectionUtil.newArrayList(
            new TempBean().setTable("table"),
            new TempBean().setTable("table").setCreate(false)
    );

    /**
     * 不需要生成的字段:如编造列
     */
    private static final List<String> filedIgnoreList = CollectionUtil.newArrayList(
            "",
            "",
            ""
    );

    public static void main(String[] args) {
        CreateAndInsertSqlJob.start("test-db-dev", "test_db");
    }

    /**
     * 生成 sql
     *
     * @param dbSetting 成扬名 如成立:[test-db-dev],这里传 test-db-dev
     * @param dbName    数据库名
     */
    @SneakyThrows
    public static void start(String dbSetting, String dbName) {
        Db db = DbUtil.use(DSFactory.get(dbSetting));

        FileWriter sqlFileWriter = FileWriter.create(new File(FILE_NAME));
        sqlFileWriter.write("");
        sqlFileWriter.append("USE " + dbName + ";\n");
        sqlFileWriter.append("SET NAMES utf8mb4;\n");
        sqlFileWriter.append("SET FOREIGN_KEY_CHECKS = 0;\n");
        for (TempBean tempBean : CONFIG_LIST) {
            String table = tempBean.table;
            sqlFileWriter.append("\n\n\n");
            if (tempBean.create) {
                // DROP TABLE
                sqlFileWriter.append("DROP TABLE IF EXISTS `" + table + "`;\n");
                // CREATE TABLE
                Entity createTableEntity = db.queryOne("SHOW CREATE TABLE " + table);
                sqlFileWriter.append((String) createTableEntity.get("Create Table"));
                sqlFileWriter.append(";\n");
            }
            // 手脚立,是否需要insert语句
            if (tempBean.insert) {
                // INSERT INTO
                List<Entity> dataEntityList = db.query("SELECT * FROM " + table);
                for (Entity dataEntity : dataEntityList) {
                    StrBuilder field = StrBuilder.create();
                    StrBuilder data = StrBuilder.create();

                    dataEntity.forEach((key, valueObj) -> {
                        String valueStr = StrUtil.toStringOrNull(valueObj);
                        // 手脚立,某些列不需要
                        if (filedIgnoreList.contains(key)) {
                            return;
                        }
                        field.append("`").append(key).append("`").append(", ");
                        if (ObjectUtil.isNotNull(valueStr)) {
                            // 值包含 ' 转义惩办
                            valueStr = StrUtil.replace(valueStr, "'", "\\'");
                            // boolean 值惩办
                            if (StrUtil.equals("true", valueStr)) {
                                data.append("b'1'");
                            } else if (StrUtil.equals("false", valueStr)) {
                                data.append("b'0'");
                            } else {
                                data.append("'").append(valueStr).append("'");
                            }
                        } else {
                            data.append("NULL");
                        }
                        data.append(", ");
                    });

                    sqlFileWriter.append("INSERT INTO `" + table + "`(");
                    String fieldStr = field.subString(0, field.length() - 2);
                    sqlFileWriter.append(fieldStr);
                    sqlFileWriter.append(") VALUES (");
                    String dataStr = data.subString(0, data.length() - 2);
                    sqlFileWriter.append(dataStr);
                    sqlFileWriter.append(");\n");
                }
            }
        }
        sqlFileWriter.append("\n\n\n");
        sqlFileWriter.append("SET FOREIGN_KEY_CHECKS = 1;\n");
    }

    @Data
    @Accessors(chain = true)
    static class TempBean {
        /**
         * 表名
         */
        public String table;
        /**
         * 是否需要 create 建表语句,默许需要
         */
        public Boolean create = true;
        /**
         * 是否需要 insert 语句,默许需要
         */
        public Boolean insert = true;
    }

}

生成文献

图片

波多野结衣 女同 本站仅提供存储工作,总共践诺均由用户发布,如发现存害或侵权践诺,请点击举报。

 




Powered by 国产肛交 @2013-2022 RSS地图 HTML地图

Copyright Powered by365建站 © 2013-2024