SpringBoot之整合Mybatis(增,改,删)
一,在上一篇文章SpringBoot之整合Mybatis中,我们使用spring boot整合了Mybatis,并演示了查询操作。接下来我们将完善这个示例,增加增,删,改的功能。
二,改动代码
1.修改UserMapper.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.zcz.dao.UserDao">
- <sql id="base_column_list">
- id,name
- </sql>
- <select id="findAllUser" resultType="com.zcz.entity.User">
- select id,name from user
- </select>
- <select id="findUserById" resultType="com.zcz.entity.User">
- select
- <include refid="base_column_list"></include>
- from user
- where id = #{id}
- </select>
- <update id="updateUserById" parameterType="com.zcz.entity.User">
- update user set name = #{name} where id = #{id}
- </update>
- <insert id="insertUser" parameterType="com.zcz.entity.User">
- insert into user(name) values (#{name})
- </insert>
- <delete id="deleteById" parameterType="java.lang.Integer">
- delete from user where id = #{id}
- </delete>
- </mapper>
2.修改UserDao ,修改后的代码:
- package com.zcz.dao;
- import java.util.List;
- import org.apache.ibatis.annotations.Mapper;
- import com.zcz.entity.User;
- @Mapper
- public interface UserDao {
- public List<User> findAllUser();
- public User findUserById(int id);
- public boolean updateUserById(User user);
- public boolean insertUser(User user);
- public boolean deleteById(int id);
- }
3.修改UserService和UserServiceImpl
UserService代码如下:
- package com.zcz.service;
- import java.util.List;
- import com.zcz.entity.User;
- public interface UserService {
- public List<User> getUsers();
- public User findUserById(int id);
- public boolean updateUserById(User user);
- public boolean insertUser(User user);
- public boolean deleteById(int id);
- }
UserServiceImpl代码如下:
- package com.zcz.service.impl;
- import java.util.List;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import com.zcz.dao.UserDao;
- import com.zcz.entity.User;
- import com.zcz.service.UserService;
- @Service
- public class UserServiceImpl implements UserService {
- @Autowired
- private UserDao userDao;
- @Override
- public List<User> getUsers() {
- // TODO Auto-generated method stub
- return userDao.findAllUser();
- }
- @Override
- public User findUserById(int id) {
- // TODO Auto-generated method stub
- return userDao.findUserById(id);
- }
- @Override
- public boolean updateUserById(User user) {
- // TODO Auto-generated method stub
- userDao.updateUserById(user);
- return true;
- }
- @Override
- public boolean insertUser(User user) {
- // TODO Auto-generated method stub
- userDao.insertUser(user);
- return true;
- }
- @Override
- public boolean deleteById(int id) {
- // TODO Auto-generated method stub
- userDao.deleteById(id);
- return true;
- }
- }
4.修改UserController.代码如下
- package com.zcz.controller;
- import java.util.List;
- import javax.servlet.http.HttpServletRequest;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import com.zcz.entity.User;
- import com.zcz.service.UserService;
- @RestController
- @RequestMapping("/user")
- public class UserController {
- @Autowired
- private UserService userService;
- @RequestMapping("/getUser")
- public List<User> getUsers(){
- return userService.getUsers();
- }
- @RequestMapping("/addUser")
- public void addUser(HttpServletRequest request) {
- String name = request.getParameter("name");
- User user = new User();
- user.setName(name);
- userService.insertUser(user);
- }
- @RequestMapping("/updateUser")
- public void updateUser(HttpServletRequest request) {
- String name = request.getParameter("name");
- int id = Integer.parseInt(request.getParameter("id"));
- User user = new User();
- user.setName(name);
- user.setId(id);
- userService.updateUserById(user);
- }
- @RequestMapping("/getUserOne")
- public User getUserOne(HttpServletRequest request) {
- int id = Integer.parseInt(request.getParameter("id"));
- return userService.findUserById(id);
- }
- @RequestMapping("/deleteUser")
- public void deleteUser(HttpServletRequest request) {
- int id = Integer.parseInt(request.getParameter("id"));
- userService.deleteById(id);
- }
- }
三,接下来就是测试
首先看一下数据库的数据:
1,测试新增,访问:http://localhost:8080/user/addUser?name=zhangchengzi
成功
2,测试更新,访问:http://localhost:8080/user/updateUser?id=6&name=zhangchengzilala
成功
3.测试更具id查询,访问:http://localhost:8080/user/getUserOne?id=6
成功
4,测试删除,访问:http://localhost:8080/user/deleteUser?id=6
成功
5.我把源代码上传到了github仓库:https://github.com/ZCC1/learnSpringBootWithMybatis2.git。可以clone下来参考。欢迎star。
好了,这样以来,Spring Boot整合Mybatis,常用的操作,增,删,改,查全部都实现了。
原创不易,转载请注明出处:https://www.cnblogs.com/zhangchengzi/p/9662639.html
SpringBoot之整合Mybatis(增,改,删)的更多相关文章
- SpringBoot系列-整合Mybatis(注解方式)
目录 一.常用注解说明 二.实战 三.测试 四.注意事项 上一篇文章<SpringBoot系列-整合Mybatis(XML配置方式)>介绍了XML配置方式整合的过程,本文介绍下Spring ...
- XML简单的增改删操作
XML文件的简单增改删,每一个都可以单独拿出来使用. 新创建XML文件,<?xmlversion="1.0"encoding="utf-8"?> & ...
- js 属性增改删操作
js 属性增改删操作,可参看菜鸟教程,这里记录一个小问题:disabled属性 使用setAttribute操作无法 禁用disabled属性,需使用removeAttribute操作,原因是只要有d ...
- DataFrame查增改删
DataFrame查增改删 查 Read 类list/ndarray数据访问方式 dates = pd.date_range(',periods=10) dates df = pd.DataFrame ...
- MyBatis增、删、改、查
1.config.xml文件的基本配置信息 2.选择数据源 3.mybatis约定 (1)parameterType和resultType 只能传一个参数,但是我们可以传一个数组或者集合,达到传多个参 ...
- springboot整合mybatis增删改查(四):完善增删改查及整合swgger2
接下来就是完成增删改查的功能了,首先在config包下配置Druid数据连接池,在配置之前先把相关配置在application.preperties中完善 application.preperties ...
- springBoot(7)---整合Mybaties增删改查
整合Mybaties增删改查 1.填写pom.xml <!-- mybatis依赖jar包 --> <dependency> <groupId>org.mybati ...
- springboot(二)整合mybatis,多数据源和事务管理
-- 1.整合mybatis -- 2.整合多数据源 -- 3. 整合事务 代码地址:https://github.com/showkawa/springBoot_2017/tree/master/ ...
- SpringBoot系列-整合Mybatis(XML配置方式)
目录 一.什么是 MyBatis? 二.整合方式 三.实战 四.测试 本文介绍下SpringBoot整合Mybatis(XML配置方式)的过程. 一.什么是 MyBatis? MyBatis 是一款优 ...
随机推荐
- sql server中的cte
从SQL Server 2005开始,提供了CTE(Common Table Expression,公用表表达式)的语法支持. CTE是定义在SELECT.INSERT.UPDATE或DELETE语句 ...
- Ajax前台返回JSON数据后再Controller中直接转换成类型使用,后台接收json转成实体的方法
之前写过一篇记录文章,写的是将一个比较复杂的数据结构在前台组合起来后传递到后台. 当时并不太了解@RequestBody,也并没有使用js提供的JSON.stringify()方法 所有都是自己写的, ...
- PythonI/O进阶学习笔记_1.抽象、面向对象、class/object/type
前言: 是自己在学习python进阶IO学习视频的时候的理解和笔记,因为很多都是本菜鸟学习时候的自己的理解,有可能理解有误. Content: - 抽象的概念和面向对象的概念?想要大概了解python ...
- RANSAC简史
前言 在进行泡泡机器人[图灵智库]栏目的翻译的过程中,我发现在2018-2019的顶会中,依然有很多文章(我看到的不少于6篇)对RANSAC进行各种改进,这令我感到很吃惊.毕竟该方法在1981年就被提 ...
- MySQL之备份和还原
在实际项目中对于数据库的安全是重中之重,为防万一我们需要做好备份工作.备份分为全量备份和增量备份,今天我们就来实践下备份和还原操作. 一.为什么需要备份 在生产环境中数据库可能会遭遇到各种各样的不测从 ...
- unity shader之预备知识
1.渲染流水线 任务:从一个三维场景出发,生成(或者渲染)一张二维图像.即:计算机需要从一系列的定点出数据,纹理等信息出发,把这些信息最终转换程一张人眼可以看到的图像.而这个工作通常是由CPU和GPU ...
- mysql where、group by、having
今天重新温习一遍mysql的知识 先来讲讲where.group by.having group by :是将记录中的数据,按照条件进行分组: having:是将分组后的数据加上条件筛选,区别于whe ...
- Mybatis案例升级版——小案例大道理
纯Mybatis案例升级版——小案例大道理 前言: 这几天看了一本书<原则>,在上面看到了一句话叫“每个人都把自己眼界的局限当成世界的局限”,大学生是
- UVA10330拆点最大流
#include <iostream> #include <cstdio> #include <cstring> #include <queue> #i ...
- CodeForces 464 B Restore Cube
Restore Cube 题解: x->yyy 其实就是把x代替成yyy这个值. 如果不好理解的话, 可以试想一下, 刚开始的话 0->0, 1->1, 2->2,...,9- ...