22
22
23
23
24
24
25
- ![ image-20191219151247240] ( /image /mybatis/image-20191219151247240.png)
25
+ ![ image-20191219151247240] ( ../../../images /mybatis/image-20191219151247240.png)
26
26
27
- ![ image-20191219151408597] ( /image /mybatis/image-20191219151408597.png)
27
+ ![ image-20191219151408597] ( ../../../images /mybatis/image-20191219151408597.png)
28
28
29
29
``` java
30
30
public class MixedSqlNode implements SqlNode {
@@ -53,7 +53,7 @@ public class MixedSqlNode implements SqlNode {
53
53
54
54
` org.apache.ibatis.scripting.xmltags.IfSqlNode#apply `
55
55
56
- ![ image-20191219152254274] ( /image /mybatis/image-20191219152254274.png)
56
+ ![ image-20191219152254274] ( ../../../images /mybatis/image-20191219152254274.png)
57
57
58
58
``` java
59
59
/**
@@ -90,7 +90,7 @@ public class StaticTextSqlNode implements SqlNode {
90
90
91
91
- 解析` trim ` 标签
92
92
93
- ![ image-20191219152502960] ( /image /mybatis/image-20191219152502960.png)
93
+ ![ image-20191219152502960] ( ../../../images /mybatis/image-20191219152502960.png)
94
94
95
95
- 在解析` trim ` 的时候会往下解析下级标签
96
96
@@ -107,7 +107,7 @@ public class StaticTextSqlNode implements SqlNode {
107
107
108
108
109
109
110
- ![ image-20191219152655746] ( /image /mybatis/image-20191219152655746.png)
110
+ ![ image-20191219152655746] ( ../../../images /mybatis/image-20191219152655746.png)
111
111
112
112
``` JAVA
113
113
@Override
@@ -161,17 +161,17 @@ public class StaticTextSqlNode implements SqlNode {
161
161
162
162
```
163
163
164
- ![ image-20191219153341466] ( /image /mybatis/image-20191219153341466.png)
164
+ ![ image-20191219153341466] ( ../../../images /mybatis/image-20191219153341466.png)
165
165
166
166
存在返回` true `
167
167
168
168
执行完成就得到了一个sql
169
169
170
- ![ image-20191219153553127] ( /image /mybatis/image-20191219153553127.png)
170
+ ![ image-20191219153553127] ( ../../../images /mybatis/image-20191219153553127.png)
171
171
172
172
继续执行` org.apache.ibatis.scripting.xmltags.DynamicSqlSource#getBoundSql ` 方法
173
173
174
- ![ image-20191219155129772] ( /image /mybatis/image-20191219155129772.png)
174
+ ![ image-20191219155129772] ( ../../../images /mybatis/image-20191219155129772.png)
175
175
176
176
- 发送sql` org.apache.ibatis.executor.SimpleExecutor#doQuery `
177
177
@@ -259,7 +259,7 @@ public class StaticTextSqlNode implements SqlNode {
259
259
- `org.apache.ibatis.executor. BaseExecutor #doQuery`
260
260
- `org.apache.ibatis.executor. SimpleExecutor #doQuery`
261
261
262
- ! [image- 20191219160832704 ](/ image / mybatis/ image- 20191219160832704. png)
262
+ ! [image- 20191219160832704 ](.. / .. / .. / images / mybatis/ image- 20191219160832704. png)
263
263
264
264
```java
265
265
private Statement prepareStatement(StatementHandler handler, Log statementLog) throws SQLException {
@@ -276,7 +276,7 @@ public class StaticTextSqlNode implements SqlNode {
276
276
277
277
```
278
278
279
- ![ image-20191219160908212] ( /image /mybatis/image-20191219160908212.png)
279
+ ![ image-20191219160908212] ( ../../../images /mybatis/image-20191219160908212.png)
280
280
281
281
- ` org.apache.ibatis.executor.statement.BaseStatementHandler#prepare `
282
282
- ` org.apache.ibatis.executor.statement.PreparedStatementHandler#instantiateStatement `
@@ -330,7 +330,7 @@ public class StaticTextSqlNode implements SqlNode {
330
330
331
331
- 接下来需要考虑的问题是如何将` ? ` 换成我们的参数` 2 `
332
332
333
- ![ image-20191219161555793] ( /image /mybatis/image-20191219161555793.png)
333
+ ![ image-20191219161555793] ( ../../../images /mybatis/image-20191219161555793.png)
334
334
335
335
- ` org.apache.ibatis.executor.statement.StatementHandler#parameterize `
336
336
- ` org.apache.ibatis.executor.statement.RoutingStatementHandler#parameterize `
@@ -343,11 +343,11 @@ public class StaticTextSqlNode implements SqlNode {
343
343
344
344
345
345
346
- ![ image-20191219162258040] ( /image /mybatis/image-20191219162258040.png)
346
+ ![ image-20191219162258040] ( ../../../images /mybatis/image-20191219162258040.png)
347
347
348
348
这样就拿到了` value ` 的值
349
349
350
- ![ image-20191219162506920] ( /image /mybatis/image-20191219162506920.png)
350
+ ![ image-20191219162506920] ( ../../../images /mybatis/image-20191219162506920.png)
351
351
352
352
准备工作就绪了发送就可以了
353
353
@@ -376,11 +376,11 @@ public class StaticTextSqlNode implements SqlNode {
376
376
377
377
378
378
379
- ![ image-20191219163628214] ( /image /mybatis/image-20191219163628214.png)
379
+ ![ image-20191219163628214] ( ../../../images /mybatis/image-20191219163628214.png)
380
380
381
- ![ image-20191219163640968] ( /image /mybatis/image-20191219163640968.png)
381
+ ![ image-20191219163640968] ( ../../../images /mybatis/image-20191219163640968.png)
382
382
383
- ![ image-20191219163957488] ( /image /mybatis/image-20191219163957488.png)
383
+ ![ image-20191219163957488] ( ../../../images /mybatis/image-20191219163957488.png)
384
384
385
385
处理后结果如上
386
386
0 commit comments