@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层。