Mybatis的应用2 使用mybits+SpringBoot完成第一个查询的demo(随后加增加,更新,删除)
首先在mapper下面新建一个mysql.xml
mysql.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.course"> <!--id必须为唯一,因为执行的时候是匹配的id-->
<select id="getUserCount" resultType="Integer"> <!--resultType是执行结果返回的数据类型,返回一个用户数-->
select count(1) from user;
</select> <insert id="addUser" parameterType="com.course.model.User"> <!--parameterType是传入参数的数据类型 这是插入操作-->
insert into user (name,age,sex) values (#{name},#{age},#{sex})
</insert> <update id="updateUser" parameterType="com.course.model.User"> <!--这是更新语句-->
update user set name = #{name}, age=#{age} where id = #{id}
</update> <delete id="deleteUser" parameterType="Integer"> <--这是删除语句-->
delete from user where id = #{id}
</delete>
</mapper>
要准备好一个数据库,准备一个user 表

新建一个controller的文件夹,写入一个demo类,然后还要写一个启动类application。以下是目录结构。

Application.java
package com.course; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.scheduling.annotation.EnableScheduling; import javax.annotation.PreDestroy; @EnableScheduling
@SpringBootApplication
public class Application {
private static ConfigurableApplicationContext context; public static void main(String[] args){
Application.context = SpringApplication.run(Application.class,args);
} @PreDestroy
public void close(){
Application.context.close();
}
}
Demo.java
package com.course.controller; import com.course.model.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.log4j.Log4j;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; @Slf4j
@Log4j
@RestController
@Api(value ="v1",description = "这是我的第一个版本的demo")
@RequestMapping("v1")
public class Demo { //获取一个执行sql语句的对象,里面会有增删改查的4个模版 @Autowired //下面的对象会被加载
private SqlSessionTemplate template; @RequestMapping(value = "/getUserCount",method = RequestMethod.GET)
@ApiOperation(value = "可以获取到用户数")
public int getUserCount(){
return template.selectOne("getUserCount");
} @RequestMapping(value = "/addUser",method = RequestMethod.POST)
@ApiOperation(value = "插入用户")
public int addUser(@RequestBody User user){
int result= template.insert("addUser",user);
return result;
} @RequestMapping(value = "/updateUser",method = RequestMethod.POST)
@ApiOperation(value = "更新用户")
public int updateUser(@RequestBody User user){
return template.update("updateUser",user);
} @RequestMapping(value = "/deleteUser",method = RequestMethod.POST)
@ApiOperation(value = "删除用户")
public int deleteUser(@RequestParam int id){
return template.delete("deleteUser",id);
}
}
然后,运行Application启动类来启动服务,在浏览器输入地址看查询的结果 http://localhost:8888/v1/getUserCount.结果显示8,上面的表里面确实是8条数据。

插入的话,需要用到另一个类model下新建User.java model要和数据库中的字段相对应
package com.course.model; import lombok.Data; @Data
public class User {
private int age;
private int id;
private String name;
private String sex;
}
在jmeter中查看插入的结果:


运行以后查看结果树的结果:响应数据是1,证明添加了一条成功了


打开数据库表刷新看到多了一条:

更新:

删除:

Mybatis的应用2 使用mybits+SpringBoot完成第一个查询的demo(随后加增加,更新,删除)的更多相关文章
- spring-boot+mybatis开发实战:如何在spring-boot中使用myabtis持久层框架
前言: 本项目基于maven构建,使用mybatis-spring-boot作为spring-boot项目的持久层框架 spring-boot中使用mybatis持久层框架与原spring项目使用方式 ...
- springboot后端实现条件查询,要配合使用mybatis
package cn.com.dyg.work.sqlgen; import cn.com.dyg.work.common.exception.DefException; import cn.com. ...
- MyBatis简单的增删改查以及简单的分页查询实现
MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...
- mybatis 一对多的注入 指的是连表查询时候 将不同的查询结果以列表存储对象形式 注入进去 多对一指的是 查询多条结果但都是一样的 只需注入一条
mybatis 一对多的注入 指的是连表查询时候 将不同的查询结果以列表存储对象形式 注入进去 多对一指的是 查询多条结果但都是一样的 只需注入一条
- SpringBoot 2.x 整合ElasticSearch的demo
SpringBoot 2.x 整合ElasticSearch的demo 1.配置文件application.yml信息 # Tomcat server: tomcat: uri-encoding: U ...
- 【第十二章】 springboot + mongodb(复杂查询)
简单查询:使用自定义的XxxRepository接口即可.(见 第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(Bas ...
- 第11章—使用对象关系映射持久化数据—SpringBoot+SpringData+Jpa进行查询修改数据库
SpringBoot+SpringData+Jpa进行查询修改数据库 JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分.但它又不限于EJB 3.0,你可以在Web应用.甚至桌面应用 ...
- 第十二章 springboot + mongodb(复杂查询)
简单查询:使用自定义的XxxRepository接口即可.(见 第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(Bas ...
- 【mybatis】mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wait timeout exceeded; try restarting transaction
今天使用mybatis和jpa的过程中,发现这样一个问题: mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wai ...
随机推荐
- centos7 安装java运行环境
1.检测是否存在相关历史版本 shell:java-version 1.1.存在相关OpenJDK和其他版本SDK则需要删除,如图. 查看详细信息,命令窗口输入,shell:rpm -qa | gre ...
- java10.0.2和java 11.0.1配置环境变量
java10.0.2 在网上找了各种方法一直也没配好打开jak下的lib文件夹发现并没有tools.jar,后经查询jdk-9后就没有了上述.jar文件所以我的配置方法如下 ClASSPATH C:\ ...
- 软件 利用 win+R 快速启动(无需添加环境变量)
前言:以 "Typora" 软件 为例 ,无需添加环境变量,实现键盘快速启动 第一步 找到 为知笔记的快捷方式 打开文件位置 鼠标右击该软件的桌面快捷方式 复制该软件的快捷方式 第 ...
- MS SQL自定义函数IsNumeric
判断字符串是否为纯数字,负数不算.如'00012','54585','1000' SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUN ...
- c/c++ 网络编程 getaddrinfo 函数
网络编程 getaddrinfo 函数 解析网址,返回IP地址. 例子: #include <iostream> #include <string.h> #include &l ...
- sqlserver中批量导出所有作业或链接脚本
问题描述: 经常在数据库迁移到另外一台服务器的时候,需要把作业也迁移过去,但是作业有时候好多个,要是一个个编写监本出来很麻烦 今天知道个简单方法批量可以导出sql脚本,顺便做个笔记 解决方法: 1.在 ...
- 【技术文章】《快速上手nodejs》
本文地址:http://www.cnblogs.com/aiweixiao/p/8294814.html 原文地址: 扫码关注微信公众号 1.写在前面 nodejs快速上手 nodejs使ja ...
- Python开发【前端篇】JavaScript和Jquery
JavaScript嵌入页面的方式 1.行间事件(主要用于事件) <input type="button" name="" onclick="a ...
- Django-CRM项目学习(五)-stark的action以及多级筛选功能
1.stark的组件之action(自定制函数多选功能效果) 1.1 admin效果 1.2 多选效果前端和后端进行的操作 1.2.1 前端发过来的参数是?号后各个参数用&来拼接 1.2.2 ...
- 修改xampp-apache访问目录
文章转自 https://my.oschina.net/u/3618644/blog/1569972 问题来源: 一般情况下,每个项目占用一个根目录,而不是一个根目录下面有多个项目. 比如说,安装xa ...