springboot整合mybatis
springboot整合mybatis
使用mybatis+分页插件pagehelper整合;
pom
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<!--mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>1.2.4</version>
</dependency>
<!--pagehelper-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
32
32
1
<dependency>
2
<groupId>org.mybatis.spring.boot</groupId>
3
<artifactId>mybatis-spring-boot-starter</artifactId>
4
<version>1.3.1</version>
5
</dependency>
6
<!--mapper-->
7
<dependency>
8
<groupId>tk.mybatis</groupId>
9
<artifactId>mapper-spring-boot-starter</artifactId>
10
<version>1.2.4</version>
11
</dependency>
12
<!--pagehelper-->
13
<dependency>
14
<groupId>com.github.pagehelper</groupId>
15
<artifactId>pagehelper-spring-boot-starter</artifactId>
16
<version>1.2.3</version>
17
</dependency>
18
19
<dependency>
20
<groupId>mysql</groupId>
21
<artifactId>mysql-connector-java</artifactId>
22
<scope>runtime</scope>
23
</dependency>
24
<dependency>
25
<groupId>org.apache.commons</groupId>
26
<artifactId>commons-dbcp2</artifactId>
27
</dependency>
28
29
<dependency>
30
<groupId>org.springframework.boot</groupId>
31
<artifactId>spring-boot-starter-jdbc</artifactId>
32
</dependency>
application配置:
#热部署--为mybatis设置,生产环境可删除
restart.include.mapper=/mapper-[\\w-\\.]+jar
restart.include.pagehelper=/pagehelper-[\\w-\\.]+jar
#mybatis
mybatis.type-aliases-package=tk.mybatis.springboot.model ##pojo/entity(与数据库对应)层位置
mybatis.mapper-locations=classpath:mapper/*.xml ##xml位置
#mapper
#mappers 多个接口时逗号隔开
mapper.mappers=tk.mybatis.springboot.util.MyMapper ##mapper通用接口
mapper.not-empty=false
mapper.identity=MYSQL
#pagehelper
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
19
19
1
#热部署--为mybatis设置,生产环境可删除
2
restart.include.mapper=/mapper- \\w-\\. +jar
3
restart.include.pagehelper=/pagehelper- \\w-\\. +jar
4
5
#mybatis
6
mybatis.type-aliases-package=tk.mybatis.springboot.model ##pojo/entity(与数据库对应)层位置
7
mybatis.mapper-locations=classpath:mapper/*.xml ##xml位置
8
9
#mapper
10
#mappers 多个接口时逗号隔开
11
mapper.mappers=tk.mybatis.springboot.util.MyMapper ##mapper通用接口
12
mapper.not-empty=false
13
mapper.identity=MYSQL
14
15
#pagehelper
16
pagehelper.helperDialect=mysql
17
pagehelper.reasonable=true
18
pagehelper.supportMethodsArguments=true
19
pagehelper.params=count=countSql
mapper通用工具utils
package com.imooc.utils;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
/**
* 继承自己的MyMapper
*使用了依赖的mapper-spring-boot-starter,此类具有基本法的增删改查以及example方法,其他mapper只需要继承即可使用
* @author liuzh
* @since 2015-09-06 21:53
*/
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
//TODO
//FIXME 特别注意,该接口不能被扫描到,否则会出错
}
15
15
1
package com.imooc.utils;
2
3
import tk.mybatis.mapper.common.Mapper;
4
import tk.mybatis.mapper.common.MySqlMapper;
5
6
/**
7
* 继承自己的MyMapper
8
*使用了依赖的mapper-spring-boot-starter,此类具有基本法的增删改查以及example方法,其他mapper只需要继承即可使用
9
* @author liuzh
10
* @since 2015-09-06 21:53
11
*/
12
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
13
//TODO
14
//FIXME 特别注意,该接口不能被扫描到,否则会出错
15
}
逆向工程
- 逆向工程所需xml(没有设置生成SQL语句)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="com.imooc.utils.MyMapper"/>
</plugin>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/leecx"
userId="root"
password="root">
</jdbcConnection>
<!-- 对于生成的pojo所在包 -->
<javaModelGenerator targetPackage="com.imooc.pojo" targetProject="src/main/java"/>
<!-- 对于生成的mapper所在目录 -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
<!-- 配置mapper对应的java映射 -->
<javaClientGenerator targetPackage="com.imooc.mapper" targetProject="src/main/java"
type="XMLMAPPER"/>
<table tableName="sys_user"></table>
</context>
</generatorConfiguration>
35
35
1
2
3
4
5
6
<generatorConfiguration>
7
<context id="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
8
<property name="beginningDelimiter" value="`"/>
9
<property name="endingDelimiter" value="`"/>
10
11
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
12
<property name="mappers" value="com.imooc.utils.MyMapper"/>
13
</plugin>
14
15
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
16
connectionURL="jdbc:mysql://localhost:3306/leecx"
17
userId="root"
18
password="root">
19
</jdbcConnection>
20
21
<!-- 对于生成的pojo所在包 -->
22
<javaModelGenerator targetPackage="com.imooc.pojo" targetProject="src/main/java"/>
23
24
<!-- 对于生成的mapper所在目录 -->
25
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
26
27
<!-- 配置mapper对应的java映射 -->
28
<javaClientGenerator targetPackage="com.imooc.mapper" targetProject="src/main/java"
29
type="XMLMAPPER"/>
30
31
32
<table tableName="sys_user"></table>
33
34
</context>
35
</generatorConfiguration>
- 生成entity
package com.imooc.pojo;
import java.util.Date;
import javax.persistence.*;
@Table(name = "sys_user")
public class SysUser {
@Id
private String id;
/**
* 用户名,登录名
*/
private String username;
/**
* 密码
*/
private String password;
/**
* 昵称
*/
private String nickname;
/**
* 年龄
*/
private Integer age;
/**
* 性别
0:女
1:男
2:保密
*/
private Integer sex;
/**
* 职业类型:
1:Java开发
2:前端开发
3:大数据开发
4:ios开发
5:Android开发
6:Linux系统工程师
7:PHP开发
8:.net开发
9:C/C++
10:学生
11:其它
*/
private Integer job;
/**
* 头像地址
*/
@Column(name = "face_image")
private String faceImage;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 区
*/
private String district;
/**
* 详细地址
*/
private String address;
/**
* 用于权限的“盐”
*/
@Column(name = "auth_salt")
private String authSalt;
/**
* 最后一次登录IP
*/
@Column(name = "last_login_ip")
private String lastLoginIp;
/**
* 最后一次登录时间
*/
@Column(name = "last_login_time")
private Date lastLoginTime;
@Column(name = "is_delete")
private Integer isDelete;
@Column(name = "regist_time")
private Date registTime;
/**
* @return id
*/
public String getId() {
return id;
}
/**
* @param id
*/
public void setId(String id) {
this.id = id;
}
/**
* 获取用户名,登录名
*
* @return username - 用户名,登录名
*/
public String getUsername() {
return username;
}
/**
* 设置用户名,登录名
*
* @param username 用户名,登录名
*/
public void setUsername(String username) {
this.username = username;
}
/**
* 获取密码
*
* @return password - 密码
*/
public String getPassword() {
return password;
}
/**
* 设置密码
*
* @param password 密码
*/
public void setPassword(String password) {
this.password = password;
}
/**
* 获取昵称
*
* @return nickname - 昵称
*/
public String getNickname() {
return nickname;
}
/**
* 设置昵称
*
* @param nickname 昵称
*/
public void setNickname(String nickname) {
this.nickname = nickname;
}
/**
* 获取年龄
*
* @return age - 年龄
*/
public Integer getAge() {
return age;
}
/**
* 设置年龄
*
* @param age 年龄
*/
public void setAge(Integer age) {
this.age = age;
}
/**
* 获取性别
0:女
1:男
2:保密
*
* @return sex - 性别
0:女
1:男
2:保密
*/
public Integer getSex() {
return sex;
}
/**
* 设置性别
0:女
1:男
2:保密
*
* @param sex 性别
0:女
1:男
2:保密
*/
public void setSex(Integer sex) {
this.sex = sex;
}
/**
* 获取职业类型:
1:Java开发
2:前端开发
3:大数据开发
4:ios开发
5:Android开发
6:Linux系统工程师
7:PHP开发
8:.net开发
9:C/C++
10:学生
11:其它
*
* @return job - 职业类型:
1:Java开发
2:前端开发
3:大数据开发
4:ios开发
5:Android开发
6:Linux系统工程师
7:PHP开发
8:.net开发
9:C/C++
10:学生
11:其它
*/
public Integer getJob() {
return job;
}
/**
* 设置职业类型:
1:Java开发
2:前端开发
3:大数据开发
4:ios开发
5:Android开发
6:Linux系统工程师
7:PHP开发
8:.net开发
9:C/C++
10:学生
11:其它
*
* @param job 职业类型:
1:Java开发
2:前端开发
3:大数据开发
4:ios开发
5:Android开发
6:Linux系统工程师
7:PHP开发
8:.net开发
9:C/C++
10:学生
11:其它
*/
public void setJob(Integer job) {
this.job = job;
}
/**
* 获取头像地址
*
* @return face_image - 头像地址
*/
public String getFaceImage() {
return faceImage;
}
/**
* 设置头像地址
*
* @param faceImage 头像地址
*/
public void setFaceImage(String faceImage) {
this.faceImage = faceImage;
}
/**
* 获取省
*
* @return province - 省
*/
public String getProvince() {
return province;
}
/**
* 设置省
*
* @param province 省
*/
public void setProvince(String province) {
this.province = province;
}
/**
* 获取市
*
* @return city - 市
*/
public String getCity() {
return city;
}
/**
* 设置市
*
* @param city 市
*/
public void setCity(String city) {
this.city = city;
}
/**
* 获取区
*
* @return district - 区
*/
public String getDistrict() {
return district;
}
/**
* 设置区
*
* @param district 区
*/
public void setDistrict(String district) {
this.district = district;
}
/**
* 获取详细地址
*
* @return address - 详细地址
*/
public String getAddress() {
return address;
}
/**
* 设置详细地址
*
* @param address 详细地址
*/
public void setAddress(String address) {
this.address = address;
}
/**
* 获取用于权限的“盐”
*
* @return auth_salt - 用于权限的“盐”
*/
public String getAuthSalt() {
return authSalt;
}
/**
* 设置用于权限的“盐”
*
* @param authSalt 用于权限的“盐”
*/
public void setAuthSalt(String authSalt) {
this.authSalt = authSalt;
}
/**
* 获取最后一次登录IP
*
* @return last_login_ip - 最后一次登录IP
*/
public String getLastLoginIp() {
return lastLoginIp;
}
/**
* 设置最后一次登录IP
*
* @param lastLoginIp 最后一次登录IP
*/
public void setLastLoginIp(String lastLoginIp) {
this.lastLoginIp = lastLoginIp;
}
/**
* 获取最后一次登录时间
*
* @return last_login_time - 最后一次登录时间
*/
public Date getLastLoginTime() {
return lastLoginTime;
}
/**
* 设置最后一次登录时间
*
* @param lastLoginTime 最后一次登录时间
*/
public void setLastLoginTime(Date lastLoginTime) {
this.lastLoginTime = lastLoginTime;
}
/**
* @return is_delete
*/
public Integer getIsDelete() {
return isDelete;
}
/**
* @param isDelete
*/
public void setIsDelete(Integer isDelete) {
this.isDelete = isDelete;
}
/**
* @return regist_time
*/
public Date getRegistTime() {
return registTime;
}
/**
* @param registTime
*/
public void setRegistTime(Date registTime) {
this.registTime = registTime;
}
}
454
454
1
package com.imooc.pojo;
2
3
import java.util.Date;
4
import javax.persistence.*;
5
6
name = "sys_user") (
7
public class SysUser {
8
9
private String id;
10
11
/**
12
* 用户名,登录名
13
*/
14
private String username;
15
16
/**
17
* 密码
18
*/
19
private String password;
20
21
/**
22
* 昵称
23
*/
24
private String nickname;
25
26
/**
27
* 年龄
28
*/
29
private Integer age;
30
31
/**
32
* 性别
33
0:女
34
1:男
35
2:保密
36
*/
37
private Integer sex;
38
39
/**
40
* 职业类型:
41
1:Java开发
42
2:前端开发
43
3:大数据开发
44
4:ios开发
45
5:Android开发
46
6:Linux系统工程师
47
7:PHP开发
48
8:.net开发
49
9:C/C++
50
10:学生
51
11:其它
52
*/
53
private Integer job;
54
55
/**
56
* 头像地址
57
*/
58
name = "face_image") (
59
private String faceImage;
60
61
/**
62
* 省
63
*/
64
private String province;
65
66
/**
67
* 市
68
*/
69
private String city;
70
71
/**
72
* 区
73
*/
74
private String district;
75
76
/**
77
* 详细地址
78
*/
79
private String address;
80
81
/**
82
* 用于权限的“盐”
83
*/
84
name = "auth_salt") (
85
private String authSalt;
86
87
/**
88
* 最后一次登录IP
89
*/
90
name = "last_login_ip") (
91
private String lastLoginIp;
92
93
/**
94
* 最后一次登录时间
95
*/
96
name = "last_login_time") (
97
private Date lastLoginTime;
98
99
name = "is_delete") (
100
private Integer isDelete;
101
102
name = "regist_time") (
103
private Date registTime;
104
105
/**
106
* @return id
107
*/
108
public String getId() {
109
return id;
110
}
111
112
/**
113
* @param id
114
*/
115
public void setId(String id) {
116
this.id = id;
117
}
118
119
/**
120
* 获取用户名,登录名
121
*
122
* @return username - 用户名,登录名
123
*/
124
public String getUsername() {
125
return username;
126
}
127
128
/**
129
* 设置用户名,登录名
130
*
131
* @param username 用户名,登录名
132
*/
133
public void setUsername(String username) {
134
this.username = username;
135
}
136
137
/**
138
* 获取密码
139
*
140
* @return password - 密码
141
*/
142
public String getPassword() {
143
return password;
144
}
145
146
/**
147
* 设置密码
148
*
149
* @param password 密码
150
*/
151
public void setPassword(String password) {
152
this.password = password;
153
}
154
155
/**
156
* 获取昵称
157
*
158
* @return nickname - 昵称
159
*/
160
public String getNickname() {
161
return nickname;
162
}
163
164
/**
165
* 设置昵称
166
*
167
* @param nickname 昵称
168
*/
169
public void setNickname(String nickname) {
170
this.nickname = nickname;
171
}
172
173
/**
174
* 获取年龄
175
*
176
* @return age - 年龄
177
*/
178
public Integer getAge() {
179
return age;
180
}
181
182
/**
183
* 设置年龄
184
*
185
* @param age 年龄
186
*/
187
public void setAge(Integer age) {
188
this.age = age;
189
}
190
191
/**
192
* 获取性别
193
0:女
194
1:男
195
2:保密
196
*
197
* @return sex - 性别
198
0:女
199
1:男
200
2:保密
201
*/
202
public Integer getSex() {
203
return sex;
204
}
205
206
/**
207
* 设置性别
208
0:女
209
1:男
210
2:保密
211
*
212
* @param sex 性别
213
0:女
214
1:男
215
2:保密
216
*/
217
public void setSex(Integer sex) {
218
this.sex = sex;
219
}
220
221
/**
222
* 获取职业类型:
223
1:Java开发
224
2:前端开发
225
3:大数据开发
226
4:ios开发
227
5:Android开发
228
6:Linux系统工程师
229
7:PHP开发
230
8:.net开发
231
9:C/C++
232
10:学生
233
11:其它
234
*
235
* @return job - 职业类型:
236
1:Java开发
237
2:前端开发
238
3:大数据开发
239
4:ios开发
240
5:Android开发
241
6:Linux系统工程师
242
7:PHP开发
243
8:.net开发
244
9:C/C++
245
10:学生
246
11:其它
247
*/
248
public Integer getJob() {
249
return job;
250
}
251
252
/**
253
* 设置职业类型:
254
1:Java开发
255
2:前端开发
256
3:大数据开发
257
4:ios开发
258
5:Android开发
259
6:Linux系统工程师
260
7:PHP开发
261
8:.net开发
262
9:C/C++
263
10:学生
264
11:其它
265
*
266
* @param job 职业类型:
267
1:Java开发
268
2:前端开发
269
3:大数据开发
270
4:ios开发
271
5:Android开发
272
6:Linux系统工程师
273
7:PHP开发
274
8:.net开发
275
9:C/C++
276
10:学生
277
11:其它
278
*/
279
public void setJob(Integer job) {
280
this.job = job;
281
}
282
283
/**
284
* 获取头像地址
285
*
286
* @return face_image - 头像地址
287
*/
288
public String getFaceImage() {
289
return faceImage;
290
}
291
292
/**
293
* 设置头像地址
294
*
295
* @param faceImage 头像地址
296
*/
297
public void setFaceImage(String faceImage) {
298
this.faceImage = faceImage;
299
}
300
301
/**
302
* 获取省
303
*
304
* @return province - 省
305
*/
306
public String getProvince() {
307
return province;
308
}
309
310
/**
311
* 设置省
312
*
313
* @param province 省
314
*/
315
public void setProvince(String province) {
316
this.province = province;
317
}
318
319
/**
320
* 获取市
321
*
322
* @return city - 市
323
*/
324
public String getCity() {
325
return city;
326
}
327
328
/**
329
* 设置市
330
*
331
* @param city 市
332
*/
333
public void setCity(String city) {
334
this.city = city;
335
}
336
337
/**
338
* 获取区
339
*
340
* @return district - 区
341
*/
342
public String getDistrict() {
343
return district;
344
}
345
346
/**
347
* 设置区
348
*
349
* @param district 区
350
*/
351
public void setDistrict(String district) {
352
this.district = district;
353
}
354
355
/**
356
* 获取详细地址
357
*
358
* @return address - 详细地址
359
*/
360
public String getAddress() {
361
return address;
362
}
363
364
/**
365
* 设置详细地址
366
*
367
* @param address 详细地址
368
*/
369
public void setAddress(String address) {
370
this.address = address;
371
}
372
373
/**
374
* 获取用于权限的“盐”
375
*
376
* @return auth_salt - 用于权限的“盐”
377
*/
378
public String getAuthSalt() {
379
return authSalt;
380
}
381
382
/**
383
* 设置用于权限的“盐”
384
*
385
* @param authSalt 用于权限的“盐”
386
*/
387
public void setAuthSalt(String authSalt) {
388
this.authSalt = authSalt;
389
}
390
391
/**
392
* 获取最后一次登录IP
393
*
394
* @return last_login_ip - 最后一次登录IP
395
*/
396
public String getLastLoginIp() {
397
return lastLoginIp;
398
}
399
400
/**
401
* 设置最后一次登录IP
402
*
403
* @param lastLoginIp 最后一次登录IP
404
*/
405
public void setLastLoginIp(String lastLoginIp) {
406
this.lastLoginIp = lastLoginIp;
407
}
408
409
/**
410
* 获取最后一次登录时间
411
*
412
* @return last_login_time - 最后一次登录时间
413
*/
414
public Date getLastLoginTime() {
415
return lastLoginTime;
416
}
417
418
/**
419
* 设置最后一次登录时间
420
*
421
* @param lastLoginTime 最后一次登录时间
422
*/
423
public void setLastLoginTime(Date lastLoginTime) {
424
this.lastLoginTime = lastLoginTime;
425
}
426
427
/**
428
* @return is_delete
429
*/
430
public Integer getIsDelete() {
431
return isDelete;
432
}
433
434
/**
435
* @param isDelete
436
*/
437
public void setIsDelete(Integer isDelete) {
438
this.isDelete = isDelete;
439
}
440
441
/**
442
* @return regist_time
443
*/
444
public Date getRegistTime() {
445
return registTime;
446
}
447
448
/**
449
* @param registTime
450
*/
451
public void setRegistTime(Date registTime) {
452
this.registTime = registTime;
453
}
454
}
- 生成mapper
import com.imooc.pojo.SysUser;
import com.imooc.utils.MyMapper;
//可以添加注解@Mapper
public interface SysUserMapper extends MyMapper<SysUser> {
}
5
5
1
import com.imooc.pojo.SysUser;
2
import com.imooc.utils.MyMapper;
3
//可以添加注解@Mapper
4
public interface SysUserMapper extends MyMapper<SysUser> {
5
}
- 生成xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.imooc.mapper.SysUserMapper" >
<resultMap id="BaseResultMap" type="com.imooc.pojo.SysUser" >
<!--
WARNING - @mbg.generated
-->
<id column="id" property="id" jdbcType="VARCHAR" />
<result column="username" property="username" jdbcType="VARCHAR" />
<result column="password" property="password" jdbcType="VARCHAR" />
<result column="nickname" property="nickname" jdbcType="VARCHAR" />
<result column="age" property="age" jdbcType="INTEGER" />
<result column="sex" property="sex" jdbcType="INTEGER" />
<result column="job" property="job" jdbcType="INTEGER" />
<result column="face_image" property="faceImage" jdbcType="VARCHAR" />
<result column="province" property="province" jdbcType="VARCHAR" />
<result column="city" property="city" jdbcType="VARCHAR" />
<result column="district" property="district" jdbcType="VARCHAR" />
<result column="address" property="address" jdbcType="VARCHAR" />
<result column="auth_salt" property="authSalt" jdbcType="VARCHAR" />
<result column="last_login_ip" property="lastLoginIp" jdbcType="VARCHAR" />
<result column="last_login_time" property="lastLoginTime" jdbcType="TIMESTAMP" />
<result column="is_delete" property="isDelete" jdbcType="INTEGER" />
<result column="regist_time" property="registTime" jdbcType="TIMESTAMP" />
</resultMap>
</mapper>
26
26
1
2
3
<mapper namespace="com.imooc.mapper.SysUserMapper" >
4
<resultMap id="BaseResultMap" type="com.imooc.pojo.SysUser" >
5
<!--
6
WARNING - @mbg.generated
7
-->
8
<id column="id" property="id" jdbcType="VARCHAR" />
9
<result column="username" property="username" jdbcType="VARCHAR" />
10
<result column="password" property="password" jdbcType="VARCHAR" />
11
<result column="nickname" property="nickname" jdbcType="VARCHAR" />
12
<result column="age" property="age" jdbcType="INTEGER" />
13
<result column="sex" property="sex" jdbcType="INTEGER" />
14
<result column="job" property="job" jdbcType="INTEGER" />
15
<result column="face_image" property="faceImage" jdbcType="VARCHAR" />
16
<result column="province" property="province" jdbcType="VARCHAR" />
17
<result column="city" property="city" jdbcType="VARCHAR" />
18
<result column="district" property="district" jdbcType="VARCHAR" />
19
<result column="address" property="address" jdbcType="VARCHAR" />
20
<result column="auth_salt" property="authSalt" jdbcType="VARCHAR" />
21
<result column="last_login_ip" property="lastLoginIp" jdbcType="VARCHAR" />
22
<result column="last_login_time" property="lastLoginTime" jdbcType="TIMESTAMP" />
23
<result column="is_delete" property="isDelete" jdbcType="INTEGER" />
24
<result column="regist_time" property="registTime" jdbcType="TIMESTAMP" />
25
</resultMap>
26
</mapper>
将mapper进行扫描
//扫描 mybatis mapper 包路径
@MapperScan(basePackages = "com.imooc.mapper")
2
2
1
//扫描 mybatis mapper 包路径
2
basePackages = "com.imooc.mapper") (
使用
- service层使用
@Autowired
private SysUserMapper userMapper;
userMapper.updateByPrimaryKey(user);
x
4
1
2
private SysUserMapper userMapper;
3
4
userMapper.updateByPrimaryKey(user);
分页
//在调用mapper的上一行进行分页设置即可
PageHelper.startPage(page, pageSize);
2
2
1
//在调用mapper的上一行进行分页设置即可
2
PageHelper.startPage(page, pageSize);
mybatis整合事务
事务是在service层添加
- 增删改操作所需事务:
@Transactional(propagation = Propagation.REQUIRED)
1
1
1
propagation = Propagation.REQUIRED) (
- 查事务:
@Transactional(propagation = Propagation.SUPPORTS)
1
1
propagation = Propagation.SUPPORTS) (