Java程序实现创建表和更改表字段

实际一点直接给你们业务逻辑,根据自己的需求去修改 (不过首先得拼接出来sql语句)

 String sql = CasesObjService.buildATablePgSQL(maps);

这个就是我拼接出来的sql  创建表的sql语句 上面还需要这几个

Java程序实现创建表和更改表字段_第1张图片

 

    public void init(Listmaps) throws SQLException, ClassNotFoundException, CsosApiException {
        //解析map数据 map对应着一个一个的字段
        String sql = CasesObjService.buildATablePgSQL(maps);

        String newSql = tableNewList(maps);
        
        //将字段全都转为小写
        String lowerCaseSql = newSql.toLowerCase(Locale.ROOT);

        List stringList = Arrays.asList(lowerCaseSql.split(","));
        List newSqlList = new ArrayList<>(stringList);
        newSqlList.add("_id");
        //从这里开始!!!!
        //连接数据库
        Class.forName(driver);
        Connection conn = DriverManager.getConnection(url, userName, password);
        Statement stat = conn.createStatement();
        //---------------------
        //获取数据库表名
        String tableName = null;
        String[] split = sql.split("\"");
        for (int i = 0; i < split.length; i++) {
            tableName = split[1];
        }
        log.info("数据库的表名是:{}",tableName);
        //---------------------
        ResultSet rs = conn.getMetaData().getTables(null, null, tableName, null);
        // 判断表是否存在,如果存在则什么都不做,否则创建表
        // 先判断是否纯在表名,有则先删除表在创建表
        if (rs.next()) {
              //这里可以去写 表存在而做的操作
        } else {
            //创建表
            stat.executeUpdate(sql);
            log.info("代表没有这张表,直接创建!");
        }
        // 释放资源
        stat.close();
        conn.close();
        //这里结束!!
    }

你可能感兴趣的:(java,java,spring)