userRepository.save(user);
}
public void delete(Long id) {
userRepository.deleteById(id);
}
public User findById(Long id) {
return userRepository.findById(id).orElse(null);
}
public List findAll() {
return userRepository.findAll();
}
//调用了分页查询
public Page findPage(Integer pageNum, Integer pageSize, String name) {
// 构建分页查询条件
Sort sort = new Sort(Sort.Direction.DESC, “create_time”);
Pageable pageRequest = PageRequest.of(pageNum - 1, pageSize, sort);
return userRepository.findByNameLike(name, pageRequest);
}
}
controller
@RestController
@RequestMapping(“/user”)
public class UserController {
@Resource
private UserService userService;
// 新增用户
@PostMapping
public Result add(@RequestBody User user) {
userService.save(user);
return Result.success();
}
// 修改用户
@PutMapping
public Result update(@RequestBody User user) {
userService.save(user);
return Result.success();
}
// 删除用户
@DeleteMapping(“/{id}”)
public void delete(@PathVariable(“id”) Long id) {
userService.delete(id);
}
// 根据id查询用户
@GetMapping(“/{id}”)
public Result findById(@PathVariable Long id) {
return Result.success(userService.findById(id));
}
// 查询所有用户
@GetMapping
public Result<List> findAll() {
return Result.success(userService.findAll());
}
// 分页查询用户
@GetMapping(“/page”)
public Result<Page> findPage(@RequestParam(defaultValue = “1”) Integer pageNum,
@RequestParam(defaultValue = “10”) Integer pageSize,
@RequestParam(required = false) String name) {
return Result.success(userService.findPage(pageNum, pageSize, name));
}
}
结果封装类
package com.example.common;
public class Result {
private String code;
private String msg;
private T data;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public Result() {
}
public Result(T data) {
this.data = data;
}
public static Result success() {
Result result = new Result<>();
result.setCode(“0”);
result.setMsg(“成功”);
return result;
}
public static Result success(T data) {
Result result = new Result<>(data);
result.setCode(“0”);
result.setMsg(“成功”);
return result;
}
public static Result error(String code, String msg) {
Result result = new Result();
result.setCode(code);
result.setMsg(msg);
return result;
}
}
处理跨域WebMvcConfig
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping(“/**”).allowedOriginPatterns(“*”)
.allowedMethods(“GET”, “HEAD”, “POST”,“PUT”, “DELETE”, “OPTIONS”)
.allowCredentials(true).maxAge(3600);
}
}
application.yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mytest?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: 123456
pom.xml
com.example
demo
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-parent
2.1.0.RELEASE
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-data-jpa
mysql
mysql-connector-java
org.springframework.boot
spring-boot-maven-plugin
true
public
aliyun nexus
http://maven.aliyun.com/nexus/content/groups/public/
true
index.html
用户信息表
<el-button type=“primary” @click=“add”>新增
<el-input v-model=“name” style=“width: 70%” @keyup.enter.native=“loadTable(1)”>
<el-table
:data=“page.content”
stripe
border
style=“width: 100%”>
<el-table-column
prop=“name”
label=“用户名”
<el-table-column
prop=“age”
label=“年龄”
width=“180”>
<el-table-column
prop=“sex”
label=“性别”>
<el-table-column
prop=“address”
label=“地址”>
<el-table-column
prop=“phone”
label=“电话”>
<el-table-column
fixed=“right”
label=“操作”
width=“100”>
<el-button type=“primary” icon=“el-icon-edit” size=“small” circle @click=“edit(scope.row)”>
<el-button type=“danger” icon=“el-icon-delete” size=“small” circle @click=“del(scope.row.id)”>
<el-pagination
layout=“prev, pager, next”
:page-size=“pageSize”
:current-page=“pageNum”
@prev-click=“loadTable”
@current-change=“loadTable”
@next-click=“loadTable”
:total=“page.totalElements”>
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
nation>
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-N9jDGz45-1715600429481)]
[外链图片转存中…(img-N2v0tIXs-1715600429482)]
[外链图片转存中…(img-3Bk2qeuo-1715600429482)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!