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=countSql19
19
1
#热部署--为mybatis设置,生产环境可删除2
restart.include.mapper=/mapper-\\w-\\.+jar3
restart.include.pagehelper=/pagehelper-\\w-\\.+jar4
5
#mybatis6
mybatis.type-aliases-package=tk.mybatis.springboot.model ##pojo/entity(与数据库对应)层位置7
mybatis.mapper-locations=classpath:mapper/*.xml ##xml位置8
9
#mapper10
#mappers 多个接口时逗号隔开11
mapper.mappers=tk.mybatis.springboot.util.MyMapper ##mapper通用接口12
mapper.not-empty=false13
mapper.identity=MYSQL14
15
#pagehelper16
pagehelper.helperDialect=mysql17
pagehelper.reasonable=true18
pagehelper.supportMethodsArguments=true19
pagehelper.params=count=countSqlmapper通用工具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
* 继承自己的MyMapper8
*使用了依赖的mapper-spring-boot-starter,此类具有基本法的增删改查以及example方法,其他mapper只需要继承即可使用9
* @author liuzh10
* @since 2015-09-06 21:5311
*/12
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {13
//TODO14
//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
* 最后一次登录IP89
*/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 id107
*/108
public String getId() {109
return id;110
}111
112
/**113
* @param id114
*/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
* 获取最后一次登录IP393
*394
* @return last_login_ip - 最后一次登录IP395
*/396
public String getLastLoginIp() {397
return lastLoginIp;398
}399
400
/**401
* 设置最后一次登录IP402
*403
* @param lastLoginIp 最后一次登录IP404
*/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_delete429
*/430
public Integer getIsDelete() {431
return isDelete;432
}433
434
/**435
* @param isDelete436
*/437
public void setIsDelete(Integer isDelete) {438
this.isDelete = isDelete;439
}440
441
/**442
* @return regist_time443
*/444
public Date getRegistTime() {445
return registTime;446
}447
448
/**449
* @param registTime450
*/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
//可以添加注解@Mapper4
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.generated7
-->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)
浙公网安备 33010602011771号