diff --git a/SQL_Parser_Parameterize.md b/SQL_Parser_Parameterize.md index c1e7098..293c90f 100644 --- a/SQL_Parser_Parameterize.md +++ b/SQL_Parser_Parameterize.md @@ -30,4 +30,23 @@ String psql = ParameterizedOutputVisitorUtils.parameterize(sql, dbType); assertEquals("SELECT *\n" + "FROM t\n" + "WHERE id = ?", psql); +``` + +## 3. 获取具体参数化后的常量值 +``` +final String dbType = JdbcConstants.MYSQL; + +List outParameters = new ArrayList(); +String sql = "select * from t where id = 101 and age = 102 or name = 'wenshao'"; +String psql = ParameterizedOutputVisitorUtils.parameterize(sql, dbType, outParameters); +assertEquals("SELECT *\n" + + "FROM t\n" + + "WHERE id = ?\n" + + "\tAND age = ?\n" + + "\tOR name = ?", psql); + +assertEquals(3, outParameters.size()); +assertEquals(101, outParameters.get(0)); +assertEquals(102, outParameters.get(1)); +assertEquals("wenshao", outParameters.get(2)); ``` \ No newline at end of file