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;
    }
}
posted @   小幼虫虫  阅读(108)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示