AddMissingColumns.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import java.sql.*;
  2. public class AddMissingColumns {
  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. // 添加第三视角相机朝向字段
  14. String[] addColumnSqls = {
  15. "ALTER TABLE BUSINESS_SCENE ADD COLUMN THIRD_PERSON_CAMERA_HEADING DECIMAL(10,6)",
  16. "ALTER TABLE BUSINESS_SCENE ADD COLUMN THIRD_PERSON_CAMERA_PITCH DECIMAL(10,6)",
  17. "ALTER TABLE BUSINESS_SCENE ADD COLUMN THIRD_PERSON_CAMERA_ROLL DECIMAL(10,6)",
  18. "ALTER TABLE BUSINESS_SCENE ADD COLUMN THIRD_PERSON_CAMERA_DIRECTION VARCHAR(200)",
  19. "ALTER TABLE BUSINESS_SCENE ADD COLUMN THIRD_PERSON_CAMERA_UP VARCHAR(200)"
  20. };
  21. for (String sql : addColumnSqls) {
  22. try {
  23. stmt.execute(sql);
  24. System.out.println("成功执行: " + sql);
  25. } catch (SQLException e) {
  26. System.out.println("执行失败(可能已存在): " + sql);
  27. System.out.println("错误信息: " + e.getMessage());
  28. }
  29. }
  30. // 添加字段注释
  31. String[] columnComments = {
  32. "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_HEADING IS '第三视角相机朝向角(弧度)'",
  33. "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_PITCH IS '第三视角相机俯仰角(弧度)'",
  34. "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_ROLL IS '第三视角相机翻滚角(弧度)'",
  35. "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_DIRECTION IS '第三视角相机方向向量(JSON格式)'",
  36. "COMMENT ON COLUMN BUSINESS_SCENE.THIRD_PERSON_CAMERA_UP IS '第三视角相机上向量(JSON格式)'"
  37. };
  38. for (String comment : columnComments) {
  39. try {
  40. stmt.execute(comment);
  41. System.out.println("成功添加注释: " + comment);
  42. } catch (SQLException e) {
  43. System.out.println("添加注释失败: " + comment);
  44. }
  45. }
  46. System.out.println("所有字段添加完成!");
  47. } catch (Exception e) {
  48. e.printStackTrace();
  49. } finally {
  50. try {
  51. if (stmt != null) stmt.close();
  52. if (conn != null) conn.close();
  53. } catch (SQLException e) {
  54. e.printStackTrace();
  55. }
  56. }
  57. }
  58. }