Java程序员入职第三天编写简单增删改查接口

本文详细介绍了如何为Java新手编写一个简单的增删改查接口,包括Controller、Service、ServiceImpl以及Dao和Mapper.xml的实现,强调了实体类、包路径和参数修改的重要性。
摘要由CSDN通过智能技术生成


目的:帮助新手Java程序员编写简单的增删改查接口,不包含分页查询接口,因为不同项目的分页接口写法不一样,可以直接拷贝自己项目的分页接口来修改

一、Controller

/**
 * 用户表 控制器	Controller层
 */
@Slf4j
@RestController
@RequestMapping("api/user")
@Api(tags = "用户") //配合swagger使用
public class UserController {

    @Autowired
    private UserService userService;

    @ApiOperation(value = "查询列表")
    @RequestMapping(value = "/list", method = RequestMethod.POST)
    public List<User> list(@RequestBody User user) {
        return userService.getList(user);
    }

    @ApiOperation(value = "查询详情")
    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
    public User detail(@PathVariable(value = "id") String id) {
        return userService.getUserById(id);
    }

    @ApiOperation(value = "修改用户")
    @RequestMapping(value = "/update", method = RequestMethod.POST)
    public int update(@RequestBody User User) {
        return userService.updateUser(User);
    }

    @ApiOperation(value = "新增用户")
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public int add(@RequestBody User User) {
        return userService.addUser(User);
    }

    @ApiOperation(value = "删除用户")
    @RequestMapping(value = "/delect/{id}", method = RequestMethod.DELETE)
    public int delete(@PathVariable(value = "id") String id) {
        return userService.deleteUser(id);
    }
}

二、Service

/**
 *  UserService 用户接口	Service层
 */
public interface UserService extends IService<User> {

    List<User> getList(User user);

    User getUserById(String id);

    int updateUser(User user);

    int addUser(User user);

    int deleteUser(String id);
}

三、ServiceImpl

/**
 *  UserServiceImpl 用户接口实现	Service层
 */
@Service
public class UserServiceImpl extends ServiceImpl<UserDao, User> implements UserService {

    @Autowired
    private UserDao userDao;

    @Override
    public List<User> getList(User user) {
        /*直接使用 QueryWrapper 进行查询*/
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        //只查询未删除的用户数据
        queryWrapper.eq("isDelete",user.getIsDelete());
        return userDao.selectList(queryWrapper);
        
        /*调用自己编写的dao层SQL接口进行查询*/
        //List<User> userList = userDao.getListByName("张三");
        //return userList;
    }

    @Override
    public User getUserById(String id) {
        //根据用户id查询详情
        return userDao.selectById(id);
    }

    @Override
    public int updateUser(User user) {
        //根据用户id修改用户信息
        return userDao.updateById(user);
    }

    @Override
    public int addUser(User user) {
        //新增用户
        return userDao.insert(user);
    }

    @Override
    public int deleteUser(String id) {
        //根据用户id删除用户信息
        //return userDao.deleteById(id);  //物理删除 实际项目情况很少使用

        /*应该使用 逻辑删除*/
        User user = userDao.selectById(id);
        user.setIsDelete(1);                //修改是否删除字段 0=否 1=是
        user.setUpdateTime(new Date());     //修改更新时间字段
        return userDao.updateById(user);
    }
}

四、Dao

/**
 * 用户表 Mapper 接口	Dao层
 */
public interface UserDao extends BaseMapper<User> {
	//复杂的SQL接口直接写在这里,SQL语句写在对应的xxxMapper.xml文件中,然后service层调用dao层接口来处理业务
	
	//根据用户名查询用户列表
    List<User> getListByName(String userName);
}

五、Mapper.xml

<!--用户表 Mapper 接口实现	Dao-->
<?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">
<!--修改成自己对应的Dao接口包路径-->
<mapper namespace="test.dao.UserDao">

<select id="getListByName" resultType="test.model.User">
        select *  from user where name = #{userName}
    </select>

</mapper>

总结

只是简单的增删改查代码示例,用的时候需要自己改一下返回的实体类、包路径、接口入参...等

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值