springBoot 框架搭建
配置框架
官网IO配置:start.spring.io
src和pom.xml文件有用
视频网址:https://www.bilibili.com/video/BV1Bq4y1j7Zz?spm_id_from=333.337.search-card.all.click
依赖:
项目结构
resource里面的application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
实体类 entitry
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String name;
private String pwd;
}
映射mapper
import com.example.demo.entitry.User;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
public interface UserMapper {
@Select("Select * from mybatis.user;")
List<User> findAll();
@Update("insert into mybatis.user (name,pwd) values (#{name},#{pwd})")
@Transactional
void addUser(User user);
@Update("update mybatis.user set (name=#{name},pwd=#{pwd}})where id=#{id}})")
@Transactional
void updateUserByID(User user);
@Select("Select * from mybatis.user limit #{page},#{pageSize};")
List<User> limitUser(int page,int pageSize);
@Select("Select count(id) from mybatis.user;")
int count();
}
控制层controller
import com.example.demo.entitry.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//这个注解会将结果一JSON格式返回
@RestController
//这个注解是接口路径
@RequestMapping("/user")
public class UserController {
//引入接口
@Resource
UserMapper userMapper;
@GetMapping("/getUser")
public List<User> getUser() { //点击最左边这个
return userMapper.findAll();
}
//@PathVariable,用地址链接里面的参数来传参,不用body/params
@GetMapping("/getByUserId/{id}")
public String getByUserId(@PathVariable("id") String userId) {
System.out.println(userId);
return userId;
}
//@RequestParam,用params传参,并且参数必填
@GetMapping("/getByUserId2")
public String getByUserId2(@RequestParam("id") String userId) {
System.out.println(userId);
return userId;
}
@GetMapping("/getByUserId3")
public String getByUserId3(@RequestParam("id") String userId, @RequestParam("name") String userName) {
System.out.println(userId + " " + userName);
return userId + " " + userName;
}
@PostMapping
public User addUser(@RequestBody User user) {
System.out.println(user);
//userMapper.addUser(user);
return user;
}
//@RequestBody,
@PutMapping("/updateUser")
public User updateUser(@RequestBody User user) {
System.out.println(user);
//userMapper.updateUserByID(user);
return user;
}
//分页查询
@GetMapping("/findByPage")
public Map limitUser(@RequestParam("page") int page,@RequestParam("pageSize") int pageSize) {
Map<String, Object> pageAndCount = new HashMap<>();
page=(page-1)*pageSize;
pageAndCount.put("User",userMapper.limitUser(page,pageSize));
pageAndCount.put("count", userMapper.count());
return pageAndCount;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现