forked from IT-xzy/NEW-JAVA
-
Notifications
You must be signed in to change notification settings - Fork 0
/
20190121-A-JAVA-1.html
162 lines (150 loc) · 6.49 KB
/
20190121-A-JAVA-1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>葡萄藤PPT</title>
<link rel="stylesheet" href="https://ptteng.github.io/PPT/css/reveal/reveal.css">
<!-- PPT主题,可以在/css/reveal/theme/中选择其他主题,目前暂时只能使用该模板 -->
<link rel="stylesheet" href="https://ptteng.github.io/PPT/css/reveal/theme/ptt.css">
<!-- syntax highlighting 代码高亮主题 -->
<link rel="stylesheet" href="https://ptteng.github.io/PPT/lib/reveal/css/zenburn.css">
<!-- 打印和PDF输出样式 -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'https://ptteng.github.io/PPT/css/reveal/print/pdf.css' : '../css/reveal/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<img src="https://ptteng.github.io/PPT/img/demo/logo.png" alt="" usemap="#pttmap" class="base-logo">
<map name="pttmap">
<area shape="rect" coords="0,0,276,58" href="http://www.jnshu.com" alt="" target="_blank"/>
</map>
<div class="reveal">
<div class="slides">
<section>
<h3>Mybatis动态标签</h3>
<p></p>
<h3></h3>
<p>-深圳-Java-徐铭培-</p>
</section>
<section>
<p>1.背景介绍</p>
<p>2.知识剖析</p>
<p>3.常见问题</p>
<p>4.解决方案</p>
<p>5.编码实战</p>
<p>6.扩展思考</p>
<p>7.参考文献</p>
<p>8.更多讨论</p>
</section>
<section>
<h3>1.背景介绍</h3>
</section>
<section>
<p>MyBatis是什么?不用MyBatis之前,我们都是通过jdbc驱动的方式去连接数据库,而且还需要自己输入connection、statement这种很多重复,雷同,繁琐的代码。
而如果使用MyBatis,只需要提供关键的SQL语句。其他的工作,像加载驱动,建立连接,Statement, JDBC相关的一些动作交给Mybatis,减少重复性的工作,
更多的关注在增删改查等操作层面上, 把技术细节封装在底层。其中MyBatis 的强大特性之一便是它的动态 SQL。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 </section>
<section>
<h3>2.知识剖析</h3>
</section>
<section>
<h3>MyBatis中的动态SQL中的元素:</h3>
<p>像之前使用JDBC去访问数据库,能体会到根据不同条件拼接 SQL 语句有多么痛苦,拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。
MyBatis的动态sql正是为了解决这种问题,通过if、choose、when、where、foreach这些标签,可以组成非常灵活的SQL语句,从而提高开发人员的效率。</p>
</section>
<section>
<h3>3.常见问题</h3>
</section>
<section>
<h3>标签的使用?</h3>
</section>
<section>
<h3>4.解决方案</h3>
</section>
<section>
<p>多写多练</p>
</section>
<section>
<h3>5.编码实战</h3>
</section>
<section>
<p>demo</p>
</section>
<section>
<p>if&where标签</p>
</section>
<section>
<p>用动态sql的好处,可以用非常简约的代码实现功能,逻辑比较完善 </p>
</section>
<section>
<p> set标签</p>
</section>
<section>
<p> update语句里的多个字段使用set标签,比较灵活。避免字段空的时候语法错误</p>
</section>
<section>
<p> choose标签</p>
</section>
<section>
<p> MyBatis里面没有else标签,但是可以使用when otherwise标签来达到类似的目的</p>
</section>
<section>
<p> foreach标签</p>
</section>
<section>
<h3>5.编码实战</h3>
</section>
<section>
<h3>6.扩展思考</h3>
</section>
<section>
<h3>7.参考文献</h3>
<p>CSDN、百度百科、师兄们提供的资料</p>
</section>
<section>
<h3>8.更多讨论</h3>
</section>
<section>
<p>谢谢大家观看,如有问题,恳请批评指正</p>
<p>by:深圳分院 -徐铭培-</p>
</section>
</div>
</div>
<script src="https://ptteng.github.io/PPT/lib/reveal/js/head.min.js"></script>
<script src="https://ptteng.github.io/PPT/lib/reveal/reveal.js"></script>
<script>
// 以下为常见配置属性的默认值
// {
// controls: true, // 是否在右下角展示控制条
// progress: true, // 是否显示演示的进度条
// slideNumber: false, // 是否显示当前幻灯片的页数编号,也可以使用代码slideNumber: 'c / t' ,表示当前页/总页数。
// history: false, // 是否将每个幻灯片改变加入到浏览器的历史记录中去
// keyboard: true, // 是否启用键盘快捷键来导航
// overview: true, // 是否启用幻灯片的概览模式,可使用"Esc"或"o"键来切换概览模式
// center: true, // 是否将幻灯片垂直居中
// touch: true, // 是否在触屏设备上启用触摸滑动切换
// loop: false, // 是否循环演示
// rtl: false, // 是否将演示的方向变成RTL,即从右往左
// fragments: true, // 全局开启和关闭碎片。
// autoSlide: 0, // 两个幻灯片之间自动切换的时间间隔(毫秒),当设置成 0 的时候则禁止自动切换,该值可以被幻灯片上的 ` data-autoslide` 属性覆盖
// transition: 'default', // 切换过渡效果,有none/fade/slide/convex/concave/zoom
// transitionSpeed: 'default', // 过渡速度,default/fast/slow
// mouseWheel: true, //是否启用通过鼠标滚轮来切换幻灯片
// }
// 初始化幻灯片
Reveal.initialize({
history: true,
dependencies: [
{ src: 'https://blog.csdn.net/USTC_Zn/article/details/54912367' },
{ src: 'https://blog.csdn.net/luomingkui1109/article/details/72820232' },
{ src: 'https://ptteng.github.io/PPT/plugin/notes/notes.js', async: true },
{ src: 'https://ptteng.github.io/PPT/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>