622867419f35f249bb7ea5bdea765999f8099abf.svn-base 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. package org.jeecg.modules.online.config.service.impl;
  2. import org.jeecg.common.util.oConvertUtils;
  3. import org.jeecg.modules.online.config.service.DbTableHandleI;
  4. import org.jeecg.modules.online.config.util.ColumnMeta;
  5. public class SqlServerTableHandle implements DbTableHandleI {
  6. public SqlServerTableHandle() {
  7. }
  8. public String getAddColumnSql(ColumnMeta columnMeta) {
  9. return " ADD " + this.a(columnMeta) + ";";
  10. }
  11. public String getReNameFieldName(ColumnMeta columnMeta) {
  12. return " sp_rename '" + columnMeta.getTableName() + "." + columnMeta.getOldColumnName() + "', '" + columnMeta.getColumnName() + "', 'COLUMN';";
  13. }
  14. public String getUpdateColumnSql(ColumnMeta cgformcolumnMeta, ColumnMeta datacolumnMeta) {
  15. return " ALTER COLUMN " + this.a(cgformcolumnMeta, datacolumnMeta) + ";";
  16. }
  17. public String getMatchClassTypeByDataType(String dataType, int digits) {
  18. String var3 = "";
  19. if (!dataType.equalsIgnoreCase("varchar") && !dataType.equalsIgnoreCase("nvarchar")) {
  20. if (dataType.equalsIgnoreCase("float")) {
  21. var3 = "double";
  22. } else if (dataType.equalsIgnoreCase("int")) {
  23. var3 = "int";
  24. } else if (dataType.equalsIgnoreCase("Date")) {
  25. var3 = "date";
  26. } else if (dataType.equalsIgnoreCase("Datetime")) {
  27. var3 = "date";
  28. } else if (dataType.equalsIgnoreCase("numeric")) {
  29. var3 = "bigdecimal";
  30. } else if (!dataType.equalsIgnoreCase("varbinary") && !dataType.equalsIgnoreCase("image")) {
  31. if (dataType.equalsIgnoreCase("text") || dataType.equalsIgnoreCase("ntext")) {
  32. var3 = "text";
  33. }
  34. } else {
  35. var3 = "blob";
  36. }
  37. } else {
  38. var3 = "string";
  39. }
  40. return var3;
  41. }
  42. public String dropTableSQL(String tableName) {
  43. return " DROP TABLE " + tableName + " ;";
  44. }
  45. public String getDropColumnSql(String fieldName) {
  46. return " DROP COLUMN " + fieldName + ";";
  47. }
  48. private String a(ColumnMeta var1, ColumnMeta var2) {
  49. String var3 = "";
  50. if (var1.getColunmType().equalsIgnoreCase("string")) {
  51. var3 = var1.getColumnName() + " nvarchar(" + var1.getColumnSize() + ") " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  52. } else if (var1.getColunmType().equalsIgnoreCase("date")) {
  53. var3 = var1.getColumnName() + " datetime " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  54. } else if (var1.getColunmType().equalsIgnoreCase("int")) {
  55. var3 = var1.getColumnName() + " int " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  56. } else if (var1.getColunmType().equalsIgnoreCase("double")) {
  57. var3 = var1.getColumnName() + " float " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  58. } else if (var1.getColunmType().equalsIgnoreCase("bigdecimal")) {
  59. var3 = var1.getColumnName() + " numeric(" + var1.getColumnSize() + "," + var1.getDecimalDigits() + ") " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  60. } else if (var1.getColunmType().equalsIgnoreCase("text")) {
  61. var3 = var1.getColumnName() + " ntext " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  62. } else if (var1.getColunmType().equalsIgnoreCase("blob")) {
  63. var3 = var1.getColumnName() + " image";
  64. }
  65. return var3;
  66. }
  67. private String a(ColumnMeta var1) {
  68. String var2 = "";
  69. if (var1.getColunmType().equalsIgnoreCase("string")) {
  70. var2 = var1.getColumnName() + " nvarchar(" + var1.getColumnSize() + ") " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  71. } else if (var1.getColunmType().equalsIgnoreCase("date")) {
  72. var2 = var1.getColumnName() + " datetime " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  73. } else if (var1.getColunmType().equalsIgnoreCase("int")) {
  74. var2 = var1.getColumnName() + " int " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  75. } else if (var1.getColunmType().equalsIgnoreCase("double")) {
  76. var2 = var1.getColumnName() + " float " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  77. } else if (var1.getColunmType().equalsIgnoreCase("bigdecimal")) {
  78. var2 = var1.getColumnName() + " numeric(" + var1.getColumnSize() + "," + var1.getDecimalDigits() + ") " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  79. } else if (var1.getColunmType().equalsIgnoreCase("text")) {
  80. var2 = var1.getColumnName() + " ntext " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  81. } else if (var1.getColunmType().equalsIgnoreCase("blob")) {
  82. var2 = var1.getColumnName() + " image";
  83. }
  84. return var2;
  85. }
  86. private String b(ColumnMeta var1) {
  87. String var2 = "";
  88. if (var1.getColunmType().equalsIgnoreCase("string")) {
  89. var2 = var1.getColumnName() + " nvarchar(" + var1.getColumnSize() + ") " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  90. } else if (var1.getColunmType().equalsIgnoreCase("date")) {
  91. var2 = var1.getColumnName() + " datetime " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  92. } else if (var1.getColunmType().equalsIgnoreCase("int")) {
  93. var2 = var1.getColumnName() + " int " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  94. } else if (var1.getColunmType().equalsIgnoreCase("double")) {
  95. var2 = var1.getColumnName() + " float " + ("Y".equals(var1.getIsNullable()) ? "NULL" : "NOT NULL");
  96. }
  97. return var2;
  98. }
  99. public String getCommentSql(ColumnMeta columnMeta) {
  100. StringBuffer var2 = new StringBuffer("EXECUTE ");
  101. if (oConvertUtils.isEmpty(columnMeta.getOldColumnName())) {
  102. var2.append("sp_addextendedproperty");
  103. } else {
  104. var2.append("sp_updateextendedproperty");
  105. }
  106. var2.append(" N'MS_Description', '");
  107. var2.append(columnMeta.getComment());
  108. var2.append("', N'SCHEMA', N'dbo', N'TABLE', N'");
  109. var2.append(columnMeta.getTableName());
  110. var2.append("', N'COLUMN', N'");
  111. var2.append(columnMeta.getColumnName() + "'");
  112. return var2.toString();
  113. }
  114. public String getSpecialHandle(ColumnMeta cgformcolumnMeta, ColumnMeta datacolumnMeta) {
  115. return null;
  116. }
  117. public String dropIndexs(String indexName, String tableName) {
  118. return "DROP INDEX " + indexName + " ON " + tableName;
  119. }
  120. public String countIndex(String indexName, String tableName) {
  121. return "SELECT count(*) FROM sys.indexes WHERE object_id=OBJECT_ID('" + tableName + "') and NAME= '" + indexName + "'";
  122. }
  123. }