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 是一款优 ...
随机推荐
- Springboot源码分析之TargetSource
摘要: 其实我第一次看见这个东西的时候也是不解,代理目标源不就是一个class嘛还需要封装干嘛... 其实proxy代理的不是target,而是TargetSource,这点非常重要,一定要分清楚!! ...
- Liunx学习总结(四)--文件的权限管理
文件和目录的权限 每个文件都有其所有者(u:user).所属组(g:group)和其他人(o:other)对它的操作权限,a:all则同时代表这3者.权限包括读(r:read).写(w:write). ...
- Hadoop HA Hbase启动报UnknownHostException: mycluster
Hadoop HA 搭建hbase启动时只有HMaster起来,HRegionServer没有起来 查看报错信息为: 2019-08-31 19:17:14,212 ERROR [main] regi ...
- Mybatis与SQL Server类型转换遇到的坑
一. MyBatis SQL语句遇到的性能问题 1. 场景还原 假设我们有一张User表,其中包含userId.userName.gender字段,其中userId的数据类型为char(20),此时我 ...
- Elasticsearch核心技术(2)--- 基本概念(Index、Type、Document、集群、节点、分片及副本、倒排索引)
Elasticsearch核心技术(2)--- 基本概念 这篇博客讲到基本概念包括: Index.Type.Document.集群,节点,分片及副本,倒排索引. 一.Index.Type.Docume ...
- csapp:第八章 异常控制流ECF
第八章 异常控制流ECF 8.1 异常 Exception graph LR E[异常Exception]-->E2[中断:异步异常] E-->E3[同步异常] E3-->陷阱 E3 ...
- Sublime配置Python & sublime操作
前言 前几天我发了一个配置C++的博客,今天再给大家掏一掏Python如何配置.但是主要是操作,文件并没有很多. 正文 文件地址:python 提取码:3gb7 先全部解压,sublime就按照上面说 ...
- TypeScript + React + Redux 实战简单天气APP全套完整项目
下载链接:https://www.yinxiangit.com/171.html 目录: 从面向过程的js到面向对象的js,让web前端更加高大尚.让你的前端步步日上,紧跟技术发展的前沿.让你构建更加 ...
- mysql之explain详解
mysql之explain详解 mysql之explain各个字段的详细意思: 字段 含义 select_type 分为简单(simple)和复杂 type all : 即全表扫描 index : 按 ...
- DNS解析域名的过程
一.DNS解析域名的过程 1.大的过程可分为三步: (1).在缓存中查找是否之前解析过 (2).在windows系统的host文件中查找 (3).请求DNS服务器 2.小的过程可分为十步: (1).浏 ...