在上篇文章给大家介绍了Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(一),接下来我们添加分页相关的依赖,时间紧张,直接上代码了,贴上我的pom文件
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
|
<project xmlns= " http://maven.apache.org/POM/4.0.0 " xmlns:xsi= " http://www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation= " http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd " > <modelVersion> 4.0 . 0 </modelVersion> <groupId>com.imooc</groupId> <artifactId>demo</artifactId> <version> 0.0 . 1 -SNAPSHOT</version> <packaging>jar</packaging> <name>demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version> 1.4 . 3 .RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF- 8 </project.build.sourceEncoding> <project.reporting.outputEncoding>UTF- 8 </project.reporting.outputEncoding> <java.version> 1.8 </java.version> </properties> <dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version> 1.1 . 1 </version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version> 1.1 . 1 </version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> <!--http: //localhost:8080/health--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version> 4.1 . 6 </version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> |
接下来是yml文件,主要加入了mybatis的配置,以及sql的打印
1
|
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
spring: datasource: name: test url: jdbc:mysql: //localhost/imooc?useUnicode=true&characterEncoding=utf-8&useSSL=false username: root password: 123456 driver- class -name: com.mysql.jdbc.Driver mybatis: type-aliases- package : com.imooc.model mapper-locations: classpath:mybatis/mapper/*.xml check-config-location: true config-location: classpath:mybatis/mybatis-config.xml logging: level: com.imooc.repository: debug com.imooc.service.impl: debug com.imooc.controller: debug com.imooc.activemq: debug |
接下来是repositpry文件
1
|
2
3
4
5
6
7
8
|
@Repository public interface UserRepository { List<User> findUsersByUsername( @Param ( "username" ) String username); int getCount(); int saveUser(User user); int modifyUser(User user); int removeUser( @Param ( "userId" ) int userId); } |
service文件
1
|
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
@Service public class UserServiceImpl implements UserService { @Autowired private UserRepository userRepository; @Override public Map<String, Object> getTableData( int pageNum, int pageSize, String username) { try { PageHelper.startPage(pageNum, pageSize); List<User> userList = userRepository.findUsersByUsername(username); int count = userRepository.getCount(); Map<String, Object> tableData = new HashMap<>(); tableData.put( "list" , userList); tableData.put( "count" , count); return tableData; } catch (Exception e) { e.printStackTrace(); } return null ; } } public interface UserService { Map<String, Object> getTableData( int pageNum, int pageSize, String username); } |
controller文件
1
|
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@RestController public class UserController { @Autowired private UserService userService; @GetMapping ( "getTableData" ) public Map<String, Object> getTableData( int pageNum, int pageSize, String username) { try { return userService.getTableData(pageNum, pageSize, username); } catch (Exception e) { e.printStackTrace(); } return null ; } } |
实体类
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
|
public class User { private Integer userId; private String username; private Byte sex; private Date createTime; public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this .userId = userId; } public String getUsername() { return username; } public void setUsername(String username) { this .username = username; } public Byte getSex() { return sex; } public void setSex(Byte sex) { this .sex = sex; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this .createTime = createTime; } } |
sql
1
|
2
3
4
5
6
7
|
CREATE TABLE `t_user` ( `user_id` int ( 11 ) NOT NULL AUTO_INCREMENT, `username` varchar( 32 ) DEFAULT NULL, `sex` tinyint( 4 ) DEFAULT NULL, `create_time` datetime DEFAULT NULL, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT= 10003 DEFAULT CHARSET=utf8 |
在static目录下新建 index.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
|
<!DOCTYPE html> <html lang= "ZH" > <head> <meta charset= "UTF-8" > <title>spring boot + mybatis + vue + elementui</title> <link rel= "stylesheet" href= "//cdn.bootcss.com/element-ui/1.1.2/theme-default/index.css" rel= "external nofollow" > <script src= "//cdn.bootcss.com/vue/2.1.8/vue.min.js" ></script> <script src= "//cdn.bootcss.com/element-ui/1.1.2/index.js" ></script> <script src= "//cdn.bootcss.com/vue-resource/1.0.3/vue-resource.min.js" ></script> </head> <body> <div id= "vm" > <el-row :gutter= "3" style= "margin: 10px 0;" > <el-col :span= "5" > <el-input placeholder= "输入用户名称查询" v-model= "username" icon= "search" @change = "changeUsername" > </el-input> </el-col> </el-row> <el-table border fit :data= "tableData" highlight-current-row style= "width: 100%;font-size: 12px;" > <el-table-column type= "index" width= "50" ></el-table-column> <el-table-column prop= "username" label= "用户名称" ></el-table-column> <el-table-column prop= "sex" label= "性别" :formatter= "formatSex" ></el-table-column> <el-table-column prop= "createTime.time" label= "创建时间" sortable :formatter= "formatCreateDate" ></el-table-column> </el-table> <el-col class = "toolbar" style= "padding:10px;" > <el-pagination @current -change= "findAll" :current-page= "currentPage" :page-size= "10" layout= "total, prev, pager, next, jumper" :total= "total" style= "float:right" ></el-pagination> </el-col> </div> </body> <script> Vue.http.options.emulateJSON = true ; Vue.http.options.emulateHTTP = true ; var vm = new Vue({ el: '#vm' , data: { tableData: [], currentPage: 1 , total: 10 , listLoading: false , username: null }, mounted: function () { this .findAll(); }, methods: { findAll: function (currentPage) { this .listLoading = true ; if (!isNaN(currentPage)) { this .currentPage = currentPage; } var params_ = { pageNum: this .currentPage, pageSize: 10 }; if ( this .username && this .username.trim() != "" ) { params_[ 'username' ] = this .username; } this .$http.get( "/getTableData" , { params: params_ }).then(function (response) { console.log(response.data); this .total = response.data.count; this .tableData = []; for (var key in response.data.list) { this .$set( this .tableData, key, response.data.list[key]); } }). catch (function (response) { console.error(response); }); this .listLoading = false ; }, formatDate: function getNowFormatDate(time) { var date = new Date(time); var seperator1 = "-" ; var seperator2 = ":" ; var month = date.getMonth() + 1 ; var strDate = date.getDate(); if (month >= 1 && month <= 9 ) { month = "0" + month; } if (strDate >= 0 && strDate <= 9 ) { strDate = "0" + strDate; } var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + " " + date.getHours() + seperator2 + date.getMinutes() + seperator2 + date.getSeconds(); return currentdate; }, formatCreateDate: function (row, column) { if (row.createTime != null ) { return this .formatDate(row.createTime); } else { return '' ; } }, formatSex: function (row, column) { if (row.sex != null ) { return row.sex == 1 ? '男' : '女' ; } }, changeUsername: function () { this .findAll( 1 ); } } }); </script> </html> |
启动文件
1
|
2
3
4
5
6
7
8
9
10
|
@EnableAutoConfiguration @Configuration @ComponentScan @MapperScan ( "com.imooc.repository" ) @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication. class , args); } } |
启动项目,打开http://localhost:8080/index.html
以上所述是小编给大家介绍的Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(二),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.imooc.com/article/15699