import java.sql.*; public class AddMissingColumns { public static void main(String[] args) { String url = "jdbc:dm://192.168.0.145:30236?charset=utf8"; String username = "WATERSHED"; String password = "WaterShed./1224"; Connection conn = null; Statement stmt = null; try { Class.forName("dm.jdbc.driver.DmDriver"); conn = DriverManager.getConnection(url, username, password); stmt = conn.createStatement(); // 添加第三视角相机朝向字段 String[] addColumnSqls = { "ALTER TABLE BUSINESS_SCENE ADD COLUMN THIRD_PERSON_CAMERA_HEADING DECIMAL(10,6)", "ALTER TABLE BUSINESS_SCENE ADD COLUMN THIRD_PERSON_CAMERA_PITCH DECIMAL(10,6)", "ALTER TABLE BUSINESS_SCENE ADD COLUMN THIRD_PERSON_CAMERA_ROLL DECIMAL(10,6)", "ALTER TABLE BUSINESS_SCENE ADD COLUMN THIRD_PERSON_CAMERA_DIRECTION VARCHAR(200)", "ALTER TABLE BUSINESS_SCENE ADD COLUMN THIRD_PERSON_CAMERA_UP VARCHAR(200)" }; for (String sql : addColumnSqls) { try { stmt.execute(sql); System.out.println("成功执行: " + sql); } catch (SQLException e) { System.out.println("执行失败(可能已存在): " + sql); System.out.println("错误信息: " + e.getMessage()); } } // 添加字段注释 String[] columnComments = { "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_HEADING IS '第三视角相机朝向角(弧度)'", "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_PITCH IS '第三视角相机俯仰角(弧度)'", "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_ROLL IS '第三视角相机翻滚角(弧度)'", "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_DIRECTION IS '第三视角相机方向向量(JSON格式)'", "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_UP IS '第三视角相机上向量(JSON格式)'" }; for (String comment : columnComments) { try { stmt.execute(comment); System.out.println("成功添加注释: " + comment); } catch (SQLException e) { System.out.println("添加注释失败: " + comment); } } System.out.println("所有字段添加完成!"); } catch (Exception e) { e.printStackTrace(); } finally { try { if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }