mybatis 源码sql

发布于 2022-09-12 00:13:37 字数 1163 浏览 22 评论 0

  • org.apache.ibatis.jdbc.AbstractSQL#INSERT_INTO
  • 执行的测试方法org.apache.ibatis.jdbc.SQLTest#batchInsertWithMultipleInsertValues
@Test  
void batchInsertWithMultipleInsertValues() {  
    final String sql \= new SQL() {{  
        INSERT\_INTO("TABLE\_A");  
        INTO\_COLUMNS("a", "b");  
        INTO\_VALUES("#{a1}");  
        INTO\_VALUES("#{b1}");  
        ADD\_ROW();  
        INTO\_VALUES("#{a2}");  
        INTO\_VALUES("#{b2}");  
    }}.toString();  
  
    assertThat(sql).isEqualToIgnoringWhitespace("INSERT INTO TABLE\_A (a, b) VALUES (#{a1}, #{b1}), (#{a2}, #{b2})");  
}
public T INSERT\_INTO(String tableName) {  
    sql().statementType \= SQLStatement.StatementType.INSERT;  
  
    // 下面这句话执行后 sql文多了 INSERT INTO 来源是从哪里来的  
  sql().tables.add(tableName);  
    return getSelf();  
}

进入方法前
image.png
执行sql().tables.add(tableName);
image.png

请问INSERT INTO 是如何添加上去的

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

握住你手 2022-09-19 00:13:37

在idea 的变量监控时会调用toString()方法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文