笔记07springboot实现增删改查

@RequestMapping(“/user”)注解统一的给接口加前缀。
此时再次访问9090端口就不能查询user的数据了,此时必须在前面加上user才可以。

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @GetMapping("/")
    public List<User> index(){
        return userMapper.findAll();
    }
}

注意:在该段代码中,访问网址为:localhost:9090/user/。如果访问localhost:9090/user是访问不出user的数据的。

二:新增和修改一般用post请求,向数据库插入、修改、删除。

@PostMapping
public Integer save()
{
return userMapping.insert();
}

三:插入一条用户信息

INSERT into sys_user(username,password,nickname,email,phone,adress) VALUES ("pig","123456","猪八戒","Pig@163.com","13677889900","高老庄");

四:对userMapping做改动

public interface UserMapper {
    @Select("SELECT * from sys_user")
    List<User> findAll();
    @Insert("INSERT into sys_user(username,password,nickname,email,phone,adress) VALUES (#{username},#{password},#{nickname},#{email},#{phone},#{adress})")
    int insert(User user);
}

五:在UserController中做改动

@PostMapping
public Integer save(@RequestBody User user)
{
    return userMapper.insert(user);
}

六:postman

输入url---->选择raw,json,输入代码(字段和值都需要用双引号括起来),点击send。

七:创建新的service包,并在其中创建UserService

@service注解表示把service这个类注入到springboot容器里面去。和@Mapper一样,里面都有一个@component注解,表示把这个类注入到springboot容器。
@通过Autowired引入UserMapper,通过UserMapper实现数据库的新增和更新。

package com.qinggege.springboot_demo.service;
import com.qinggege.springboot_demo.entity.User;
import com.qinggege.springboot_demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    public int save(User user) {
        if(user.getId()==null){
            userMapper.insert(user);
        }
        else{
            userMapper.update(user);
        }
    }
}

八:动态sql

log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

这句话的作用是将日志输出到控制台。
对于User.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.qinggege.springboot_demo.mapper.UserMapper">
    <update id="update">
        update sys_user
        <set>
            <if test="username!=null">
                username= #{username},
            </if>
<!--    <if test="password!=null">-->
<!--        password= #{password},-->
<!--    </if>-->
            <if test="nickname!=null">
                nickname= #{nickname},
            </if>
            <if test="email!=null">
                email= #{email},
            </if>
            <if test="phone!=null">
                phone= #{phone},
            </if>
            <if test="address!=null">
                address= #{address}
            </if>
        </set>

        <where>
            id = #{id}
        </where>
    </update>
</mapper>

此时达到的效果就是如代码所示,如果postman里只指定了对邮件修改,则其他字段也不会被置为空,而是在原有的基础上在添加对邮件的修改。

九:最终实现增删改查

   //新增和修改
    @PostMapping
    public Integer save(@RequestBody User user)
    {
        return userService.save(user);
    }

    //查询所有数据
    @GetMapping
    public List<User> index()
    {
        List<User> all= userMapper.findAll();
        return all;
    }
    @DeleteMapping("/{id}")
    public Integer delete(@PathVariable Integer id)
    {
        return userMapper.deleteById(id);
    }
}

UserController.java是一个Spring Boot的Controller类,用于处理HTTP请求。UserService.java是一个Service类,用于处理业务逻辑。UserMapper.java是一个Mapper接口,用于操作数据库。这三个文件分别对应MVC中的Controller、Service和DAO层。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胆小鬼~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值