2、SpringBoot2.0实现增删改查(二)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 在该文件夹下创建如下包:

1、在该文件夹下创建如下包:

c1ac25b82d5c3691ef51701f0d8ef82e_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdfZ3Vhbmcz,size_16,color_FFFFFF,t_70.png

利用mapper.xml实现增删改查

在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>
<!--MySQL连接-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.39</version>
</dependency>
<!-- 连接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.0.31</version>
</dependency>
<!--dao层:mybatis-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.2.0</version>
</dependency>

在application.properties文件中添加以下内容:

#mysql连接池
spring.datasource.url=jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.name=com.alibaba.druid.pool.DruidDataSource
#扫描mapper文件夹下的文件
mybatis.type-aliases-package=com.xhy.pojo
mybatis.mapper-locations=classpath:/mapper/*.xml

数据库表结构如下:

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for t_user
-- ----------------------------
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `age` int(5) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;

各包下的文件布置如下图:

cfc8e5964c8a456465de0634d8e2a938_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdfZ3Vhbmcz,size_16,color_FFFFFF,t_70.png

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.xhy.xczx.dao.UserDao">
  <select id="findAll" resultType="com.xhy.xczx.pojo.User">
  select * from t_user
  </select>
</mapper>

User中的内容:

@Data//可以自动生成getter/setter方法
@ToString//可以自动生成tostring方法。
public class User implements Serializable{
  private Integer id;
  private String name;
  private Integer age;
}

UserDao中内容如下:

@Mapper//扫描mapper下的文件
@Repository
public interface UserDao {
  List<User> findAll();
}

UserService中内容如下:

public interface UserService {
  List<User> findAll();
}

UserServiceImpl中内容如下:

@Service
public class UserServiceImpl implements UserService {
  @Autowired
  private UserDao userDao;
  @Override
  public List<User> findAll() {
  return userDao.findAll();
  }
}

UserController中内容如下:

@RestController
@RequestMapping(value="/user")
public class UserController {
  @Autowired
  private UserService userService;
  @RequestMapping(value = "/findAll")
  public List<User> findAll() {
  return userService.findAll();
  }
}

然后访问:

http://localhost:8081/user/findAll

该方式由于不是我们学习的重点,增删改可以自行在xml文件中配置进行测试;

使用SpringBoot-data-jpa实现增删改查


Orm 框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两家了,一个是宣称可以不用写一句 Sql 的 Hibernate,一个是可以灵活调试动态 Sql 的 Mybatis ,两者各有特点,在企业级系统开发中可以根据需求灵活使用。发现一个有趣的现象:传统企业大都喜欢使用 Hibernate ,互联网行业通常使用 Mybatis 。

在pom.xml文件夹添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

UserDao文件下新增如下方法:

@Select("select id,name,age from t_user")
  List<User> findsAll();
  @Insert("insert into t_user(id,name,age) values(#{id},#{name},#{age})")
  boolean insertUser(User user);
  @Delete("delete from t_user where id =#{id}")
  boolean deleteUser(Integer id);
  @Update("update t_user set name=#{name},age=#{age} where id=#{id}")
  boolean updateUser(User user);
  @Select("select id,name,age from t_user limit #{size},#{page}")
  List<User> findByPage(Integer size, Integer page);

UserService文件下新增如下方法:

List<User> findsAll();
    boolean insertUser(User user);
    boolean deleteUser(Integer id);
    boolean updateUser(User user);
    List<User> findByPage(Integer size, Integer page);

UserServiceImpl文件下新增如下方法:

@Override
public List<User> findsAll() {
  List<User> list = userDao.findsAll();
  return list;
}
@Override
public boolean insertUser(User user) {
  boolean b = userDao.insertUser(user);
  System.out.println(b);
  return b;
}
@Override
public boolean deleteUser(Integer id) {
  boolean b = userDao.deleteUser(id);
  return b;
}
@Override
public boolean updateUser(User user) {
  boolean b = userDao.updateUser(user);
  return b;
}
@Override
public List<User> findByPage(Integer size, Integer page) {
  List<User> page2 = userDao.findByPage(size, page);
  return page2;
}

UserController文件下新增如下方法:

@RequestMapping(value = "/findsAll", method = RequestMethod.GET)
    public List<User> findsAll() {
        return userService.findsAll();
    }
    @RequestMapping(value = "/insertUser", method = RequestMethod.POST)
    public boolean insertUser(User user) {
        return userService.insertUser(user);
    }
    @RequestMapping(value = "/deleteUser", method = RequestMethod.DELETE)
    public boolean deleteUser(Integer id) {
        return userService.deleteUser(id);
    }
    @RequestMapping(value = "/updateUser", method = RequestMethod.PUT)
    public boolean updateUser(User user) {
        return userService.updateUser(user);
    }
    @RequestMapping(value = "/findByPage/{size}/{page}", method = RequestMethod.GET)
    public List<User> findByPage(@PathVariable Integer size, @PathVariable Integer page) {
        return userService.findByPage(size, page);
    }

在接口测试工具Postman或者apizza中按照controller中的请求方式进行测试:

查询方式如下:

http://localhost:8081/user/findByPage/1/2
https://github.com/xhy12306/SpringBoot2.0
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6月前
|
SQL Java 数据库连接
用springboot mybatis写一个增删改查
用springboot mybatis写一个增删改查
65 0
|
6月前
|
SQL JavaScript Java
springboot+springm vc+mybatis实现增删改查案例!
springboot+springm vc+mybatis实现增删改查案例!
|
6月前
|
存储 前端开发 JavaScript
完整的SpringBoot+Vue增删改查(学生管理)
完整的SpringBoot+Vue增删改查(学生管理)
153 0
|
存储 NoSQL Java
SpringBoot 中使用 MongoDB 基于 MongoRepository增删改查(基础篇)
SpringBoot 中使用 MongoDB 基于 MongoRepository增删改查(基础篇)
598 0
|
5月前
|
存储 Java Maven
Spring Boot WebFlux 增删改查完整实战 demo
Spring Boot WebFlux 增删改查完整实战 demo
|
2月前
|
SQL JSON Java
springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
本文为Spring Boot增删改查接口的小白入门教程,介绍了项目的构建、配置YML文件、代码编写(包括实体类、Mapper接口、Mapper.xml、Service和Controller)以及使用Postman进行接口测试的方法。同时提供了SQL代码和完整代码的下载链接。
springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
|
6月前
|
JavaScript 关系型数据库 MySQL
springboot+vue实现增删改查小demo
springboot+vue实现增删改查小demo
86 0
|
1月前
|
前端开发 Java 数据库
springBoot:template engine&自定义一个mvc&后端给前端传数据&增删改查 (三)
本文介绍了如何自定义一个 MVC 框架,包括后端向前端传递数据、前后端代理配置、实现增删改查功能以及分页查询。详细展示了代码示例,从配置文件到控制器、服务层和数据访问层的实现,帮助开发者快速理解和应用。
|
3月前
|
druid Java 数据库连接
SpringBoot项目整合MybatisPlus持久层框架+Druid数据库连接池,以及实现增删改查功能
SpringBoot项目整合MybatisPlus和Druid数据库连接池,实现基本的增删改查功能。
354 0
|
5月前
|
SQL Java 数据库连接
2万字实操案例之在Springboot框架下基于注解用Mybatis开发实现基础操作MySQL之预编译SQL主键返回增删改查
2万字实操案例之在Springboot框架下基于注解用Mybatis开发实现基础操作MySQL之预编译SQL主键返回增删改查
77 2
下一篇
无影云桌面