import java.sql.*; public class CreateBusinessSceneTable { 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 dropSql = "DROP TABLE IF EXISTS BUSINESS_SCENE"; stmt.execute(dropSql); System.out.println("已删除旧表(如果存在)"); String createSql = "CREATE TABLE BUSINESS_SCENE (" + "SCENE_ID BIGINT NOT NULL IDENTITY(1,1), " + "SCENE_NAME VARCHAR(100) NOT NULL, " + "THIRD_PERSON_CAMERA_POS VARCHAR(200), " + "THIRD_PERSON_CAMERA_TARGET VARCHAR(200), " + "THIRD_PERSON_CAMERA_HEADING DECIMAL(10,6), " + "THIRD_PERSON_CAMERA_PITCH DECIMAL(10,6), " + "THIRD_PERSON_CAMERA_ROLL DECIMAL(10,6), " + "THIRD_PERSON_CAMERA_DIRECTION VARCHAR(200), " + "THIRD_PERSON_CAMERA_UP VARCHAR(200), " + "FIRST_PERSON_CAMERA_POS VARCHAR(200), " + "FIRST_PERSON_CAMERA_TARGET VARCHAR(200), " + "FIRST_PERSON_CAMERA_HEADING DECIMAL(10,6), " + "FIRST_PERSON_CAMERA_PITCH DECIMAL(10,6), " + "FIRST_PERSON_CAMERA_ROLL DECIMAL(10,6), " + "LOADED_MODELS CLOB, " + "DATA_SERVICES CLOB, " + "POI_POINTS CLOB, " + "STATUS CHAR(1) NOT NULL DEFAULT '0', " + "CREATE_BY VARCHAR(64) DEFAULT '', " + "CREATE_TIME DATETIME, " + "UPDATE_BY VARCHAR(64) DEFAULT '', " + "UPDATE_TIME DATETIME, " + "REMARK VARCHAR(500) DEFAULT NULL, " + "PRIMARY KEY (SCENE_ID)" + ")"; stmt.execute(createSql); System.out.println("表 BUSINESS_SCENE 创建成功!"); String constraintSql = "ALTER TABLE BUSINESS_SCENE ADD CONSTRAINT business_scene_check_1 CHECK (STATUS IN ('0','1','2'))"; stmt.execute(constraintSql); System.out.println("约束 business_scene_check_1 添加成功!"); String tableComment = "COMMENT ON TABLE BUSINESS_SCENE IS '业务场景表'"; stmt.execute(tableComment); String[] columnComments = { "COMMENT ON COLUMN BUSINESS_SCENE.SCENE_ID IS '场景ID'", "COMMENT ON COLUMN BUSINESS_SCENE.SCENE_NAME IS '场景名称'", "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_POS IS '第三视角相机位置(JSON格式)'", "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_TARGET IS '第三视角相机目标位置(JSON格式)'", "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格式)'", "COMMENT ON COLUMN BUSINESS_SCENE.FIRST_PERSON_CAMERA_POS IS '第一人称相机位置(JSON格式)'", "COMMENT ON COLUMN BUSINESS_SCENE.FIRST_PERSON_CAMERA_TARGET IS '第一人称相机目标位置(JSON格式)'", "COMMENT ON COLUMN BUSINESS_SCENE.FIRST_PERSON_CAMERA_HEADING IS '第一人称相机朝向角(弧度)'", "COMMENT ON COLUMN BUSINESS_SCENE.FIRST_PERSON_CAMERA_PITCH IS '第一人称相机俯仰角(弧度)'", "COMMENT ON COLUMN BUSINESS_SCENE.FIRST_PERSON_CAMERA_ROLL IS '第一人称相机翻滚角(弧度)'", "COMMENT ON COLUMN BUSINESS_SCENE.LOADED_MODELS IS '场景中加载的模型列表(JSON数组)'", "COMMENT ON COLUMN BUSINESS_SCENE.DATA_SERVICES IS '场景关联的数据服务列表(JSON数组)'", "COMMENT ON COLUMN BUSINESS_SCENE.POI_POINTS IS 'POI点列表(JSON数组)'", "COMMENT ON COLUMN BUSINESS_SCENE.STATUS IS '场景状态(0正常 1维护中 2已删除)'", "COMMENT ON COLUMN BUSINESS_SCENE.CREATE_BY IS '创建者'", "COMMENT ON COLUMN BUSINESS_SCENE.CREATE_TIME IS '创建时间'", "COMMENT ON COLUMN BUSINESS_SCENE.UPDATE_BY IS '更新者'", "COMMENT ON COLUMN BUSINESS_SCENE.UPDATE_TIME IS '更新时间'", "COMMENT ON COLUMN BUSINESS_SCENE.REMARK IS '备注'" }; for (String comment : columnComments) { stmt.execute(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(); } } } }