一个基于springboot框架的简单的增删改查
这里将介绍基于springboot框架简单的增删改查项目代码操作。
一、搭建数据库
首先要进行增删改查就需要有数据库;
这里我用到了Navicat来搭建的表。
二、新建IDEA项目
打开idea,以springboot的方式来创建项目,正pom.xml文件里面添加以下依赖
这里是对应的版本号
导入了这些依赖后,搭建四层架构
controller、dao、entity、service
创建mapper映射文件
三、连接数据库
根据自己mysql的url进行连接
连接数据库
四、写代码
经过前面的准备工作后终于可以开始写代码了;
这里我就只介绍一个接口(查找所有用户),其他的都是差不多的流程,文章末尾附完整代码;
entity层
实体类里的属性要与数据表一一对应;
dao层
查询所有用户是要返回多个SysIdentityEntity,所以用List;
Service层
先用@Autowired注入sysIdentityDao;
然后声明方法;
Controller层
同样注入
然后调用Service层
写mapper层的映射文件
将查询的SQL语句写上
到此这个接口就算是写完了;
五、测试
这里直接通过@Test注解进行测试,
从当前Test数据查看只有一条数据。
六、完整代码
entity层代码
@Data
@TableName("sys_identity")
public class SysIdentityEntity implements Serializable {
// 标识序列化类版本的字段
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Integer identityId;
/**
* 用户名
*/
private String username;
/**
* 年龄
*/
private Integer age;
/**
* 身高
*/
private Double height;
/**
* 是否为留守儿童
*/
private Integer leftoverChildren;
/**
* 生日
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date birthday;
}
controller层代码
@RestController
@RequestMapping("sys/identity")
public class SysIdentityController {
@Autowired
private SysIdentityService sysIdentityService;
/**
* 获取分页数据
* @return
*/
@GetMapping("/pageQuery")
@RequiresPermissions("sys:identity:select")
public R pageQuery(@RequestParam( value = "page") Integer currentPage,
@RequestParam(value = "limit") Integer pageSize,
@RequestParam(value = "username") String username){
SysPageEntity page = sysIdentityService.getPageData(currentPage, pageSize, username);
return R.ok().put("page",page);
}
/*
根据id获取信息
*/
@GetMapping("/info/{identityId}")
public R info(@PathVariable("identityId") Integer identityId){
SysIdentityEntity identity = sysIdentityService.getById(identityId);
return R.ok().put("identity", identity);
}
/*
删除
*/
@DeleteMapping("/{ids}")
@RequiresPermissions("sys:identity:delete")
public R deleteGetByIds(@PathVariable Integer[] ids){
sysIdentityService.deleteGetByIds(ids);
return R.ok();
}
/*
* 新增
*/
@PostMapping("/insert")
@RequiresPermissions("sys:identity:insert")
public R add(@RequestBody SysIdentityEntity sysIdentityEntity){
sysIdentityService.insert(sysIdentityEntity);
return R.ok();
}
/*
更新
*/
@PostMapping("/update")
@RequiresPermissions("sys:identity:update")
public R update(@RequestBody SysIdentityEntity sysIdentityEntity){
sysIdentityService.updata(sysIdentityEntity);
return R.ok();
}
}
service层
public interface SysIdentityService extends IService<SysIdentityEntity> {
void insert(SysIdentityEntity sysIdentityEntity);
void deleteGetByIds(Integer[] ids);
SysPageEntity getPageData(Integer currentPage, Integer pageSize, String username);
void updata(SysIdentityEntity sysIdentityEntity);
}
service.impl层
@Service("sysIdentityService")
public class SysIdentityServiceImpl extends ServiceImpl<SysIdentityDao, SysIdentityEntity> implements SysIdentityService {
@Autowired
private SysIdentityDao sysIdentityDao;
// 添加数据
@Override
public void insert(SysIdentityEntity sysIdentityEntity) {
sysIdentityDao.insert(sysIdentityEntity);
}
// 根据id删除数据
@Override
public void deleteGetByIds(Integer[] ids) {
sysIdentityDao.deleteGetByIds(ids);
}
@Override
public SysPageEntity getPageData(Integer currentPage, Integer pageSize, String username) {
// 1.设置分页参数
PageHelper.startPage(currentPage, pageSize);
// 2.执行查询
List<SysIdentityEntity> pageList = sysIdentityDao.list(username);
Page<SysIdentityEntity> p = (Page<SysIdentityEntity>) pageList;
// 3.封装PageBean对象
SysPageEntity pageBean = new SysPageEntity(p.getTotal(), p.getResult());
return pageBean;
}
//更新数据
@Override
public void updata(SysIdentityEntity sysIdentityEntity) {
sysIdentityEntity.setBirthday(new Date());
this.updateById(sysIdentityEntity);
}
}
mapper.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.wedu.modules.sys.dao.SysIdentityDao">
<sql id="commonSelect">
select *
from yz0506_1.sys_identity
</sql>
<delete id="deleteGetByIds">
delete
from sys_identity
where identity_id in
<foreach collection="ids" item="id" separator="," open="(" close=")">
#{id}
</foreach>
</delete>
<select id="list" resultType="com.wedu.modules.sys.entity.SysIdentityEntity">
<include refid="commonSelect"/>
<where>
<if test="username != null and username != ''">username like concat('%', #{username}, '%')</if>
</where>
</select>
</mapper>
@Data
@TableName("sys_identity")
public class SysIdentityEntity implements Serializable {
// 标识序列化类版本的字段
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Integer identityId;
/**
* 用户名
*/
private String username;
/**
* 年龄
*/
private Integer age;
/**
* 身高
*/
private Double height;
/**
* 是否为留守儿童
*/
private Integer leftoverChildren;
/**
* 生日
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date birthday;
}