mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
Page:
SQL_RemoveCondition_demo
Pages
Benchmark_aliyun
Contributors
DBCP迁移
Druid Change Log
DruidDataSource
DruidDataSource动态配置
DruidDataSource统计数据日志输出格式
DruidDataSource配置
DruidDataSource配置属性列表
Druid_SQL_AST
Druid中使用log4j2进行日志输出
Druid连接池介绍
Druid锁的公平模式问题
EvalVisitor
ExceptionSorter_cn
ExportParameterVisitor_demo_cn
FAQ
Home
JDBC_Properties
KeepAlive_cn
MySQL SQL Parser
OnFatalErrorMaxActive
Oracle Driver Internal API
Oracle数据库下PreparedStatementCache内存问题解决方案
ParameterizedOutputVisitor
SQL Parser
SQL_Format
SQL_Parser_Demo_visitor
SQL_Parser_Parameterize
SQL_RemoveCondition_demo
SQL_Schema_Repository
SQL格式化
SchemaStatVisitor
SchemaStatVisitor_RelationShip
StatFilter_Items
TableMapping_cn
Use_PageUtils
WallFilter 拦截规则
druid monitor设计
getCreateTableScript
large_amount_datasource_cn
linux benchmark
xxxxx
使用ConfigFilter
使用EncodingConvertFilter
使用Spring4的JavaConfig整合Druid Hibernate4.3
关于BoneCP
内置Filter的别名
分库分表
各种数据库连接池对比
各种连接池性能对比测试
如何修改SQL添加条件
如何参与
如何在Spring Boot中配置数据库密码加密?
如何捐赠
定时输出统计信息到日志中
常见问题
怎么保存Druid的监控记录
数据库多数据源
新手指南
注解方式配置监控
简介_WallFilter
设计_动态修改maxActive支持
贡献者者代码编写及提交规范
连接泄漏监测
配置 wallfilter
配置_DruidDataSource参考配置
配置_Druid和Spring关联监控配置
配置_Filter配置
配置_JNDI_Jetty
配置_JNDI_Tomcat
配置_LogFilter
配置_StatFilter
配置_StatViewFilter
配置_StatViewServlet配置
配置_配置WebStatFilter
配置druid内置的log实现
首页
Clone
3
SQL_RemoveCondition_demo
高铁 edited this page 2017-10-03 13:18:45 -05:00
Table of Contents
1. Select Statemennt
final String dbType = JdbcConstants.MYSQL; // ORACLE or POSTGRESQL or SQL_SERVER or HIVE or ODPS
String sql = "select * from t where id = 2 and name = 'wenshao'";
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, dbType);
SQLSelectStatement stmt = (SQLSelectStatement) parser.parseStatement();
SQLSelectQueryBlock queryBlock = stmt.getSelect().getQueryBlock();
assertTrue(queryBlock.removeCondition("name = 'wenshao'"));
assertEquals("SELECT *\n" +
"FROM t\n" +
"WHERE id = 2", stmt.toString());
assertTrue(
queryBlock.removeCondition("id = 2"));
assertEquals("SELECT *\n" +
"FROM t", stmt.toString());
2. DELETE Statement
final String dbType = JdbcConstants.MYSQL; // ORACLE or POSTGRESQL or SQL_SERVER or HIVE or ODPS
String sql = "delete from t where id = 2 and name = 'wenshao'";
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, dbType);
SQLDeleteStatement stmt = (SQLDeleteStatement) parser.parseStatement();
assertTrue(stmt.removeCondition("name = 'wenshao'"));
assertEquals("DELETE FROM t\n" +
"WHERE id = 2", stmt.toString());
assertTrue(
stmt.removeCondition("id = 2"));
assertEquals("DELETE FROM t", stmt.toString());
stmt.addCondition("id = 3");
assertEquals("DELETE FROM t\n" +
"WHERE id = 3", stmt.toString());
3. UPDATE Statemennt
final String dbType = JdbcConstants.MYSQL; // ORACLE or POSTGRESQL or SQL_SERVER or HIVE or ODPS
String sql = "update t set val = ? where id = 2 and name = 'wenshao'";
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, dbType);
SQLUpdateStatement stmt = (SQLUpdateStatement) parser.parseStatement();
assertTrue(stmt.removeCondition("name = 'wenshao'"));
assertEquals("UPDATE t\n" +
"SET val = ?\n" +
"WHERE id = 2", stmt.toString());
assertTrue(
stmt.removeCondition("id = 2"));
assertEquals("UPDATE t\n" +
"SET val = ?", stmt.toString());
stmt.addCondition("id = 3");
assertEquals("UPDATE t\n" +
"SET val = ?\n" +
"WHERE id = 3", stmt.toString());