0
点赞
收藏
分享

微信扫一扫

手摸手2-springboot编写基础的增删改查

码农K 2023-08-12 阅读 65

(目录)

手摸手2-springboot编写基础的增删改查

创建controller层

实现 test 表中的添加、修改、删除及列表查询接口(未分页)

package com.onejson.ojmall.controller;

import com.onejson.ojmall.entity.TestEntity;
import com.onejson.ojmall.entity.dto.TestDTO;
import com.onejson.ojmall.entity.vo.TestVO;
import com.onejson.ojmall.service.ITestService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

/**
* 测试表
*
* @author 微信公众号 onejson
* @date 2023-08-11
*/

@RestController
@RequestMapping(path = /test, produces = application/json;charset=UTF-8)
@Api(value = /test, tags = 测试表, produces = application/json;charset=UTF-8)
public class TestController{

@Resource
private ITestService testService;

/**
* 查询列表
*/

@ApiOperation(value = 条件查询列表分页, notes = 条件查询列表分页)
@GetMapping(/list)
public List<TestEntity> list(TestEntity sysTest) {
return testService.selectTestList(sysTest);
}

/**
* 新增
*/

@ApiOperation(value = 新增)
@PostMapping
public boolean add(@Validated @RequestBody TestDTO testDTO) {
return testService.insertTest(testDTO);
}

/**
* 修改
*/

@ApiOperation(value = 更新)
@PutMapping
public boolean edit(@RequestBody TestDTO testDTO) {
return testService.updateTest(testDTO);
}

/**
* 详情
*/

@ApiOperation(value = 详情)
@GetMapping(value = /{id})
public TestVO getInfo(@PathVariable(id) Integer id) {

return testService.getTestById(id);
}

/**
* 删除
*/

@ApiOperation(value = 删除)
@DeleteMapping(/{ids})
public boolean remove(@PathVariable Integer[] ids) {
return testService.removeTestByIds(ids);
}


}

添加service层接口

package com.onejson.ojmall.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.onejson.ojmall.entity.TestEntity;
import com.onejson.ojmall.entity.dto.TestDTO;
import com.onejson.ojmall.entity.vo.TestVO;

import java.util.List;


/**
* 测试表
*
* @author 微信公众号 onejson
* @date 2023-08-11 11:24:47
*/

public interface ITestService extends IService<TestEntity> {


/**
* 查询测试表列表
*
* @param testEntity 测试表Entity类
* @return list列表
*/

List<TestEntity> selectTestList(TestEntity testEntity);


/**
* 新增测试表
*
* @param testDTO 测试表DTO类
* @return 结果
*/

boolean insertTest(TestDTO testDTO);


/**
* 更新测试表
*
* @param testDTO 测试表DTO类
* @return 结果
*/

boolean updateTest(TestDTO testDTO);


/**
* 详情测试表
*
* @param id id值
* @return 结果
*/

TestVO getTestById(Integer id);


/**
* 删除测试表
*
* @param ids id数组
* @return 结果
*/

boolean removeTestByIds(Integer[] ids);


}

service层实现

package com.onejson.ojmall.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.onejson.ojmall.entity.TestEntity;
import com.onejson.ojmall.entity.dto.TestDTO;
import com.onejson.ojmall.entity.vo.TestVO;
import com.onejson.ojmall.mapper.TestMapper;
import com.onejson.ojmall.service.ITestService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;

/**
* 测试表
*
* @author 微信公众号 onejson
* @date 2023-08-11
*/

@Service
@Transactional
public class TestServiceImpl extends ServiceImpl<TestMapper, TestEntity> implements ITestService {

@Resource
private TestMapper testMapper;


/**
* 查询测试表列表
*
* @param testEntity 测试表Entity类
* @return 测试表
*/

@Override
public List<TestEntity> selectTestList(TestEntity testEntity) {
return testMapper.selectTestList(testEntity);
}

/**
* 新增测试表
*
* @param testDTO 测试表DTO类
* @return 结果
*/

@Override
public boolean insertTest(TestDTO testDTO) {

TestEntity testInfoEntity = new TestEntity();
BeanUtils.copyProperties(testDTO, testInfoEntity);

return this.save(testInfoEntity);
}

/**
* 更新测试表
*
* @param testDTO 测试表DTO类
* @return 结果
*/

@Override
public boolean updateTest(TestDTO testDTO) {

TestEntity testInfoEntity = new TestEntity();
BeanUtils.copyProperties(testDTO, testInfoEntity);

return this.updateById(testInfoEntity);
}


/**
* 详情测试表
*
* @param id id值
* @return 结果
*/

@Override
public TestVO getTestById(Integer id) {

TestEntity testEntity = this.getById(id);
TestVO testVO = new TestVO();
BeanUtils.copyProperties(testEntity, testVO);

return testVO;
}


/**
* 删除测试表
*
* @param ids id数组
* @return 结果
*/

@Override
public boolean removeTestByIds(Integer[] ids) {
return this.removeByIds(Arrays.asList(ids));
}


}

添加mapper层

package com.onejson.ojmall.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import com.onejson.ojmall.entity.TestEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;


/**
* 测试表
*
* @author 微信公众号 onejson
* @date 2023-08-11 11:24:47
*/

@Mapper
public interface TestMapper extends BaseMapper<TestEntity> {


/**
* 查询测试表列表
*
* @param testEntity 测试表Entity类
* @return list列表
*/

List<TestEntity> selectTestList(TestEntity testEntity);

/**
* 统计测试表个数
*
* @param testEntity 测试表Entity类
* @return 符合条件的记录个数
*/

Integer countTest(TestEntity testEntity);


}

mapper层对应的sql

<?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.onejson.ojmall.mapper.TestMapper>

<!-- 可根据自己的需求,是否要使用 -->
<resultMap type=com.onejson.ojmall.entity.TestEntity id=testMap>
<result property=id column=id/>
<result property=title column=title/>
</resultMap>

<sql id=selectTest>
select *
from test
</sql>

<sql id=whereTest>
<where>
<if test=id !=null and id !=''>AND id = #{id,jdbcType=VARCHAR}</if>
<if test=title !=null and title !=''>AND title = #{title,jdbcType=VARCHAR}</if>
</where>
</sql>

<select id=selectTestList parameterType=com.onejson.ojmall.entity.TestEntity resultMap=testMap>
<include refid=selectTest/>
<include refid=whereTest/>
</select>

<select id=countTest parameterType=com.onejson.ojmall.entity.TestEntity resultType=java.lang.Integer>
SELECT count(*)
FROM (
<include refid=selectTest/>
<include refid=whereTest/>
) a
</select>


</mapper>

添加扫描注解,对应sql文件的目录

@MapperScan(com.onejson.ojmall.mapper)

image-20230811175227748

举报

相关推荐

0 条评论