一,在上一篇文章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. Springboot源码分析之TargetSource

    摘要: 其实我第一次看见这个东西的时候也是不解,代理目标源不就是一个class嘛还需要封装干嘛... 其实proxy代理的不是target,而是TargetSource,这点非常重要,一定要分清楚!! ...

  2. Liunx学习总结(四)--文件的权限管理

    文件和目录的权限 每个文件都有其所有者(u:user).所属组(g:group)和其他人(o:other)对它的操作权限,a:all则同时代表这3者.权限包括读(r:read).写(w:write). ...

  3. Hadoop HA Hbase启动报UnknownHostException: mycluster

    Hadoop HA 搭建hbase启动时只有HMaster起来,HRegionServer没有起来 查看报错信息为: 2019-08-31 19:17:14,212 ERROR [main] regi ...

  4. Mybatis与SQL Server类型转换遇到的坑

    一. MyBatis SQL语句遇到的性能问题 1. 场景还原 假设我们有一张User表,其中包含userId.userName.gender字段,其中userId的数据类型为char(20),此时我 ...

  5. Elasticsearch核心技术(2)--- 基本概念(Index、Type、Document、集群、节点、分片及副本、倒排索引)

    Elasticsearch核心技术(2)--- 基本概念 这篇博客讲到基本概念包括: Index.Type.Document.集群,节点,分片及副本,倒排索引. 一.Index.Type.Docume ...

  6. csapp:第八章 异常控制流ECF

    第八章 异常控制流ECF 8.1 异常 Exception graph LR E[异常Exception]-->E2[中断:异步异常] E-->E3[同步异常] E3-->陷阱 E3 ...

  7. Sublime配置Python & sublime操作

    前言 前几天我发了一个配置C++的博客,今天再给大家掏一掏Python如何配置.但是主要是操作,文件并没有很多. 正文 文件地址:python 提取码:3gb7 先全部解压,sublime就按照上面说 ...

  8. TypeScript + React + Redux 实战简单天气APP全套完整项目

    下载链接:https://www.yinxiangit.com/171.html 目录: 从面向过程的js到面向对象的js,让web前端更加高大尚.让你的前端步步日上,紧跟技术发展的前沿.让你构建更加 ...

  9. mysql之explain详解

    mysql之explain详解 mysql之explain各个字段的详细意思: 字段 含义 select_type 分为简单(simple)和复杂 type all : 即全表扫描 index : 按 ...

  10. DNS解析域名的过程

    一.DNS解析域名的过程 1.大的过程可分为三步: (1).在缓存中查找是否之前解析过 (2).在windows系统的host文件中查找 (3).请求DNS服务器 2.小的过程可分为十步: (1).浏 ...