一,在上一篇文章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(增,改,删)的更多相关文章

  1. SpringBoot系列-整合Mybatis(注解方式)

    目录 一.常用注解说明 二.实战 三.测试 四.注意事项 上一篇文章<SpringBoot系列-整合Mybatis(XML配置方式)>介绍了XML配置方式整合的过程,本文介绍下Spring ...

  2. XML简单的增改删操作

    XML文件的简单增改删,每一个都可以单独拿出来使用. 新创建XML文件,<?xmlversion="1.0"encoding="utf-8"?> & ...

  3. js 属性增改删操作

    js 属性增改删操作,可参看菜鸟教程,这里记录一个小问题:disabled属性 使用setAttribute操作无法 禁用disabled属性,需使用removeAttribute操作,原因是只要有d ...

  4. DataFrame查增改删

    DataFrame查增改删 查 Read 类list/ndarray数据访问方式 dates = pd.date_range(',periods=10) dates df = pd.DataFrame ...

  5. MyBatis增、删、改、查

    1.config.xml文件的基本配置信息 2.选择数据源 3.mybatis约定 (1)parameterType和resultType 只能传一个参数,但是我们可以传一个数组或者集合,达到传多个参 ...

  6. springboot整合mybatis增删改查(四):完善增删改查及整合swgger2

    接下来就是完成增删改查的功能了,首先在config包下配置Druid数据连接池,在配置之前先把相关配置在application.preperties中完善 application.preperties ...

  7. springBoot(7)---整合Mybaties增删改查

    整合Mybaties增删改查 1.填写pom.xml <!-- mybatis依赖jar包 --> <dependency> <groupId>org.mybati ...

  8. springboot(二)整合mybatis,多数据源和事务管理

     -- 1.整合mybatis -- 2.整合多数据源 -- 3. 整合事务 代码地址:https://github.com/showkawa/springBoot_2017/tree/master/ ...

  9. SpringBoot系列-整合Mybatis(XML配置方式)

    目录 一.什么是 MyBatis? 二.整合方式 三.实战 四.测试 本文介绍下SpringBoot整合Mybatis(XML配置方式)的过程. 一.什么是 MyBatis? MyBatis 是一款优 ...

随机推荐

  1. 《MyCat分库分表策略详解》

    在我们的项目发展到一定阶段之后,随着数据量的增大,分库分表就变成了一件非常自然的事情.常见的分库分表方式有两种:客户端模式和服务器模式,这两种的典型代表有sharding-jdbc和MyCat.所谓的 ...

  2. nginx之location详解

    location有定位的意思,根据uri来进行不同的定位,在虚拟主机中是必不可少的,location可以定位网站的不同部分,定位到不同的处理方式上. location匹配分类 精准匹配 一般匹配 正则 ...

  3. CNN卷积中多通道卷积的参数问题

    通俗来讲参数[5,5,3,16],就是用16个卷积核的每一个,分别对3通道进行对应位置,对应3通道的乘积,再加和,输出作为一个输出核的对应位置,知道16个核全部完成. 下图是一个3d的RGB效果,每个 ...

  4. 小白学习day2------比较运算

    1 算术运算 加+ 2+3=5 减 - 3-2=1 乘 * 2*3=6 除 / 6/2=3 取膜 % 余数 幂 ** 2**3=8 整除 // 9//4=2 2 比较运算 == 判断是否等于 != , ...

  5. LiteORM-For-DotNet,我的第一个开源库

    这是一个DotNet轻量级ORM框架,解决C#.Net开发过程中重复繁琐的数据库CURD操作. 前言 因工作中接手的.net项目,源码里面都用了动软代码生成的源码做为数据库操作类库.其中,有些根本就没 ...

  6. 关于post和get的区别

    首先,get和post并没有本质上的区别,都只是 HTTP 协议中两种请求方式,用的都是同一个传输层协议,在传输上并没有什么不同.     1.get和post报文上的区别 GET 和 POST 只是 ...

  7. HDU- 3605 - Escape 最大流 + 二进制压位

    HDU - 3605 : acm.hdu.edu.cn/showproblem.php?pid=3605 题目: 有1e5的的人,小于10个的星球,每个星球都有容量,每个人也有适合的星球和不适合的星球 ...

  8. CodeForces-768B-Code For 1+DFS类似线段树思想

    Code For 1 题意:对于一个n,可以将它分解为n/2,n%2,n/2三个数字,重复上述操作知道虽有值为1或0为止: 求L---R区间数列的和: 思路:首先画着画着可以发现这是一个类似线段数的结 ...

  9. 牛客小白月赛6 G 指纹锁 set的自动排序 模板

    链接:https://www.nowcoder.com/acm/contest/136/G来源:牛客网 题目描述     HA实验有一套非常严密的安全保障体系,在HA实验基地的大门,有一个指纹锁.   ...

  10. Python字符串中删除特定字符

    分析 在Python中,字符串是不可变的.所以无法直接删除字符串之间的特定字符. 所以想对字符串中字符进行操作的时候,需要将字符串转变为列表,列表是可变的,这样就可以实现对字符串中特定字符的操作. 1 ...