一,在上一篇文章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. 新手class名常用概括

    容器: container 页头:header 内容:content/container 页面主体:main 页尾:footer 导航:nav 侧栏:sidebar 栏目:column        ...

  2. Oracle 12c Adoption Discussion — Summary

    Morning (@9:30) Oracle 12c Overview & Features for Developers Oracle Database In-Memory Deep Div ...

  3. C++ 重载运算符(详)

    C++ 重载运算符 C 重载运算符 一重载函数 1例程 2备注 二重载运算符 11 二元运算符重载 11 一元运算符重载 111 -- 2备注 3 特殊运算符重载 31 号运算符 32 下标运算符 3 ...

  4. VMware Workstation 15 Pro 永久激活密钥

    VMware Workstation 15 Pro 永久激活密钥   一. 激活密钥 YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8 UG5J2-0ME12-M89WY-NPWXX-WQH ...

  5. Nginx总结(二)基于ip的虚拟主机配置

    前面讲了如何安装配置Nginx,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天要说的 ...

  6. 以后可得记住了--Python笔试面试题小结

    1.字符串处理 将字符串中的数字替换成其两倍的值,例如: 修改前:"AS7G123m (d)F77k" 修改后:"AS14G246m (d)F154k"   个 ...

  7. React之 redux 的简单介绍及使用

    1.为什么使用redux?在小型react项目的开发中 ,view(视图层)中的数据模型(即数据),可以存放在组件中的 state 对象,换句话说页面中的动态数据存放在 state 中. 但对于开发大 ...

  8. Vue 应用 nginx 配置 前后端不分离模式

    一.先在官网下载nginx 软件,解压后放在软件盘中如D盘 将nginx 文件夹拖到编译器中,打开conf 文件夹中的 nginx.conf 文件,找到其中的server {} 配置项,默认35 行. ...

  9. 【Linux命令】lsmod命令

    lsmod(list modules)命令 lsmod命令用来显示已被内核加载的模块的状态 1)语法:lsmod 2)功能: lsmod命令可以美观地显示/prco/module中的内容,这些内容是被 ...

  10. JavaScript label语句

    使用label 语句可以在代码中添加标签,以便将来使用. 以下是label 语句的语法: label: statement 下面是一个示例: start: for (var i=0; i < c ...