d72c03c283b63249a723ca91cf31b2508c3caddd.svn-base 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. package org.jeecg.modules.online.config.service.impl;
  2. import org.apache.commons.lang.StringUtils;
  3. import org.jeecg.modules.online.config.service.DbTableHandleI;
  4. import org.jeecg.modules.online.config.util.ColumnMeta;
  5. public class OracleTableHandle implements DbTableHandleI {
  6. public OracleTableHandle() {
  7. }
  8. public String getAddColumnSql(ColumnMeta columnMeta) {
  9. return " ADD " + this.a(columnMeta) + "";
  10. }
  11. public String getReNameFieldName(ColumnMeta columnMeta) {
  12. return "RENAME COLUMN " + columnMeta.getOldColumnName() + " TO " + columnMeta.getColumnName() + "";
  13. }
  14. public String getUpdateColumnSql(ColumnMeta cgformcolumnMeta, ColumnMeta datacolumnMeta) {
  15. return " MODIFY " + this.a(cgformcolumnMeta, datacolumnMeta) + "";
  16. }
  17. public String getMatchClassTypeByDataType(String dataType, int digits) {
  18. String var3 = "";
  19. if (dataType.equalsIgnoreCase("varchar2")) {
  20. var3 = "string";
  21. }
  22. if (dataType.equalsIgnoreCase("nvarchar2")) {
  23. var3 = "string";
  24. } else if (dataType.equalsIgnoreCase("double")) {
  25. var3 = "double";
  26. } else if (dataType.equalsIgnoreCase("number") && digits == 0) {
  27. var3 = "int";
  28. } else if (dataType.equalsIgnoreCase("number") && digits != 0) {
  29. var3 = "double";
  30. } else if (dataType.equalsIgnoreCase("int")) {
  31. var3 = "int";
  32. } else if (dataType.equalsIgnoreCase("Date")) {
  33. var3 = "date";
  34. } else if (dataType.equalsIgnoreCase("Datetime")) {
  35. var3 = "date";
  36. } else if (dataType.equalsIgnoreCase("blob")) {
  37. var3 = "blob";
  38. } else if (dataType.equalsIgnoreCase("clob")) {
  39. var3 = "text";
  40. }
  41. return var3;
  42. }
  43. public String dropTableSQL(String tableName) {
  44. return " DROP TABLE " + tableName.toLowerCase() + " ";
  45. }
  46. public String getDropColumnSql(String fieldName) {
  47. return " DROP COLUMN " + fieldName.toUpperCase() + "";
  48. }
  49. private String a(ColumnMeta var1) {
  50. String var2 = "";
  51. if (var1.getColunmType().equalsIgnoreCase("string")) {
  52. var2 = var1.getColumnName() + " varchar2(" + var1.getColumnSize() + ")";
  53. } else if (var1.getColunmType().equalsIgnoreCase("date")) {
  54. var2 = var1.getColumnName() + " date";
  55. } else if (var1.getColunmType().equalsIgnoreCase("int")) {
  56. var2 = var1.getColumnName() + " NUMBER(" + var1.getColumnSize() + ")";
  57. } else if (var1.getColunmType().equalsIgnoreCase("double")) {
  58. var2 = var1.getColumnName() + " NUMBER(" + var1.getColumnSize() + "," + var1.getDecimalDigits() + ")";
  59. } else if (var1.getColunmType().equalsIgnoreCase("bigdecimal")) {
  60. var2 = var1.getColumnName() + " NUMBER(" + var1.getColumnSize() + "," + var1.getDecimalDigits() + ")";
  61. } else if (var1.getColunmType().equalsIgnoreCase("text")) {
  62. var2 = var1.getColumnName() + " CLOB ";
  63. } else if (var1.getColunmType().equalsIgnoreCase("blob")) {
  64. var2 = var1.getColumnName() + " BLOB ";
  65. }
  66. var2 = var2 + (StringUtils.isNotEmpty(var1.getFieldDefault()) ? " DEFAULT " + var1.getFieldDefault() : " ");
  67. var2 = var2 + ("Y".equals(var1.getIsNullable()) ? " NULL" : " NOT NULL");
  68. return var2;
  69. }
  70. private String a(ColumnMeta var1, ColumnMeta var2) {
  71. String var3 = "";
  72. String var4 = "";
  73. if (!var2.getIsNullable().equals(var1.getIsNullable())) {
  74. var4 = var1.getIsNullable().equals("Y") ? "NULL" : "NOT NULL";
  75. }
  76. if (var1.getColunmType().equalsIgnoreCase("string")) {
  77. var3 = var1.getColumnName() + " varchar2(" + var1.getColumnSize() + ")" + var4;
  78. } else if (var1.getColunmType().equalsIgnoreCase("date")) {
  79. var3 = var1.getColumnName() + " date " + var4;
  80. } else if (var1.getColunmType().equalsIgnoreCase("int")) {
  81. var3 = var1.getColumnName() + " NUMBER(" + var1.getColumnSize() + ") " + var4;
  82. } else if (var1.getColunmType().equalsIgnoreCase("double")) {
  83. var3 = var1.getColumnName() + " NUMBER(" + var1.getColumnSize() + "," + var1.getDecimalDigits() + ") " + var4;
  84. } else if (var1.getColunmType().equalsIgnoreCase("bigdecimal")) {
  85. var3 = var1.getColumnName() + " NUMBER(" + var1.getColumnSize() + "," + var1.getDecimalDigits() + ") " + var4;
  86. } else if (var1.getColunmType().equalsIgnoreCase("blob")) {
  87. var3 = var1.getColumnName() + " BLOB " + var4;
  88. } else if (var1.getColunmType().equalsIgnoreCase("text")) {
  89. var3 = var1.getColumnName() + " CLOB " + var4;
  90. }
  91. var3 = var3 + (StringUtils.isNotEmpty(var1.getFieldDefault()) ? " DEFAULT " + var1.getFieldDefault() : " ");
  92. var3 = var3 + var4;
  93. return var3;
  94. }
  95. public String getCommentSql(ColumnMeta columnMeta) {
  96. return "COMMENT ON COLUMN " + columnMeta.getTableName() + "." + columnMeta.getColumnName() + " IS '" + columnMeta.getComment() + "'";
  97. }
  98. public String getSpecialHandle(ColumnMeta cgformcolumnMeta, ColumnMeta datacolumnMeta) {
  99. return null;
  100. }
  101. public String dropIndexs(String indexName, String tableName) {
  102. return "DROP INDEX " + indexName;
  103. }
  104. public String countIndex(String indexName, String tableName) {
  105. return "select count(*) from user_ind_columns where index_name=upper('" + indexName + "')";
  106. }
  107. }