CreateBusinessSceneTable.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import java.sql.*;
  2. public class CreateBusinessSceneTable {
  3. public static void main(String[] args) {
  4. String url = "jdbc:dm://192.168.0.145:30236?charset=utf8";
  5. String username = "WATERSHED";
  6. String password = "WaterShed./1224";
  7. Connection conn = null;
  8. Statement stmt = null;
  9. try {
  10. Class.forName("dm.jdbc.driver.DmDriver");
  11. conn = DriverManager.getConnection(url, username, password);
  12. stmt = conn.createStatement();
  13. String dropSql = "DROP TABLE IF EXISTS BUSINESS_SCENE";
  14. stmt.execute(dropSql);
  15. System.out.println("已删除旧表(如果存在)");
  16. String createSql = "CREATE TABLE BUSINESS_SCENE (" +
  17. "SCENE_ID BIGINT NOT NULL IDENTITY(1,1), " +
  18. "SCENE_NAME VARCHAR(100) NOT NULL, " +
  19. "THIRD_PERSON_CAMERA_POS VARCHAR(200), " +
  20. "THIRD_PERSON_CAMERA_TARGET VARCHAR(200), " +
  21. "THIRD_PERSON_CAMERA_HEADING DECIMAL(10,6), " +
  22. "THIRD_PERSON_CAMERA_PITCH DECIMAL(10,6), " +
  23. "THIRD_PERSON_CAMERA_ROLL DECIMAL(10,6), " +
  24. "THIRD_PERSON_CAMERA_DIRECTION VARCHAR(200), " +
  25. "THIRD_PERSON_CAMERA_UP VARCHAR(200), " +
  26. "FIRST_PERSON_CAMERA_POS VARCHAR(200), " +
  27. "FIRST_PERSON_CAMERA_TARGET VARCHAR(200), " +
  28. "FIRST_PERSON_CAMERA_HEADING DECIMAL(10,6), " +
  29. "FIRST_PERSON_CAMERA_PITCH DECIMAL(10,6), " +
  30. "FIRST_PERSON_CAMERA_ROLL DECIMAL(10,6), " +
  31. "LOADED_MODELS CLOB, " +
  32. "DATA_SERVICES CLOB, " +
  33. "POI_POINTS CLOB, " +
  34. "STATUS CHAR(1) NOT NULL DEFAULT '0', " +
  35. "CREATE_BY VARCHAR(64) DEFAULT '', " +
  36. "CREATE_TIME DATETIME, " +
  37. "UPDATE_BY VARCHAR(64) DEFAULT '', " +
  38. "UPDATE_TIME DATETIME, " +
  39. "REMARK VARCHAR(500) DEFAULT NULL, " +
  40. "PRIMARY KEY (SCENE_ID)" +
  41. ")";
  42. stmt.execute(createSql);
  43. System.out.println("表 BUSINESS_SCENE 创建成功!");
  44. String constraintSql = "ALTER TABLE BUSINESS_SCENE ADD CONSTRAINT business_scene_check_1 CHECK (STATUS IN ('0','1','2'))";
  45. stmt.execute(constraintSql);
  46. System.out.println("约束 business_scene_check_1 添加成功!");
  47. String tableComment = "COMMENT ON TABLE BUSINESS_SCENE IS '业务场景表'";
  48. stmt.execute(tableComment);
  49. String[] columnComments = {
  50. "COMMENT ON COLUMN BUSINESS_SCENE.SCENE_ID IS '场景ID'",
  51. "COMMENT ON COLUMN BUSINESS_SCENE.SCENE_NAME IS '场景名称'",
  52. "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_POS IS '第三视角相机位置(JSON格式)'",
  53. "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_TARGET IS '第三视角相机目标位置(JSON格式)'",
  54. "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_HEADING IS '第三视角相机朝向角(弧度)'",
  55. "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_PITCH IS '第三视角相机俯仰角(弧度)'",
  56. "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_ROLL IS '第三视角相机翻滚角(弧度)'",
  57. "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_DIRECTION IS '第三视角相机方向向量(JSON格式)'",
  58. "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_UP IS '第三视角相机上向量(JSON格式)'",
  59. "COMMENT ON COLUMN BUSINESS_SCENE.FIRST_PERSON_CAMERA_POS IS '第一人称相机位置(JSON格式)'",
  60. "COMMENT ON COLUMN BUSINESS_SCENE.FIRST_PERSON_CAMERA_TARGET IS '第一人称相机目标位置(JSON格式)'",
  61. "COMMENT ON COLUMN BUSINESS_SCENE.FIRST_PERSON_CAMERA_HEADING IS '第一人称相机朝向角(弧度)'",
  62. "COMMENT ON COLUMN BUSINESS_SCENE.FIRST_PERSON_CAMERA_PITCH IS '第一人称相机俯仰角(弧度)'",
  63. "COMMENT ON COLUMN BUSINESS_SCENE.FIRST_PERSON_CAMERA_ROLL IS '第一人称相机翻滚角(弧度)'",
  64. "COMMENT ON COLUMN BUSINESS_SCENE.LOADED_MODELS IS '场景中加载的模型列表(JSON数组)'",
  65. "COMMENT ON COLUMN BUSINESS_SCENE.DATA_SERVICES IS '场景关联的数据服务列表(JSON数组)'",
  66. "COMMENT ON COLUMN BUSINESS_SCENE.POI_POINTS IS 'POI点列表(JSON数组)'",
  67. "COMMENT ON COLUMN BUSINESS_SCENE.STATUS IS '场景状态(0正常 1维护中 2已删除)'",
  68. "COMMENT ON COLUMN BUSINESS_SCENE.CREATE_BY IS '创建者'",
  69. "COMMENT ON COLUMN BUSINESS_SCENE.CREATE_TIME IS '创建时间'",
  70. "COMMENT ON COLUMN BUSINESS_SCENE.UPDATE_BY IS '更新者'",
  71. "COMMENT ON COLUMN BUSINESS_SCENE.UPDATE_TIME IS '更新时间'",
  72. "COMMENT ON COLUMN BUSINESS_SCENE.REMARK IS '备注'"
  73. };
  74. for (String comment : columnComments) {
  75. stmt.execute(comment);
  76. }
  77. System.out.println("表注释和列注释添加成功!");
  78. } catch (Exception e) {
  79. e.printStackTrace();
  80. } finally {
  81. try {
  82. if (stmt != null) stmt.close();
  83. if (conn != null) conn.close();
  84. } catch (SQLException e) {
  85. e.printStackTrace();
  86. }
  87. }
  88. }
  89. }