MCPcopy Create free account
hub / github.com/Nemo1870/sql-parse / Delete

Class Delete

src/main/java/com/sql/parse/statement/impl/druid/Delete.java:24–243  ·  view source on GitHub ↗

@date 2019年4月30日上午09:58:02 @desc Delete语法操作类

Source from the content-addressed store, hash-verified

22 * @desc Delete语法操作类
23 */
24public class Delete extends com.sql.parse.statement.Delete {
25 private SQLDeleteStatement delete;
26
27 public Delete(SQLDeleteStatement delete) {
28 this.delete = delete;
29 }
30
31 public Delete(String tableName) {
32 SQLDeleteStatement delete = new SQLDeleteStatement(SqlParseConfig.getDbType());
33 delete.setTableName(tableName);
34 this.delete = delete;
35 }
36
37 @Override
38 public String getSql(boolean safe) {
39 Delete myDelete = this.clone();
40 if (safe && myDelete.getDelete().getWhere() == null) {
41 myDelete.where("1 = 2");
42 }
43 return SQLUtils.toSQLString(myDelete.getDelete());
44 }
45
46 public SQLDeleteStatement getDelete() {
47 return this.delete;
48 }
49
50 /**
51 * @title: where
52 * @desc "WHERE"符号
53 */
54 public Delete where(String expr) {
55 SQLExpr expression = new SQLExprParser(expr).expr();
56 where(expression);
57 return this;
58 }
59
60 public Delete where(SQLExpr where) {
61 SQLExpr oldWhere = delete.getWhere();
62 if (oldWhere == null) {
63 delete.setWhere(where);
64 } else {
65 throw BaseException.errorCode(SqlParseConstant.CODE_004);
66 }
67 return this;
68 }
69
70 /**
71 * @title: and
72 * @desc 移除where条件
73 */
74 public Delete removeAllWhere() {
75 delete.setWhere(null);
76 return this;
77 }
78
79 /**
80 * @title: and
81 * @desc "AND"符号

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected