首先在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(随后加增加,更新,删除)的更多相关文章

  1. spring-boot+mybatis开发实战:如何在spring-boot中使用myabtis持久层框架

    前言: 本项目基于maven构建,使用mybatis-spring-boot作为spring-boot项目的持久层框架 spring-boot中使用mybatis持久层框架与原spring项目使用方式 ...

  2. springboot后端实现条件查询,要配合使用mybatis

    package cn.com.dyg.work.sqlgen; import cn.com.dyg.work.common.exception.DefException; import cn.com. ...

  3. MyBatis简单的增删改查以及简单的分页查询实现

    MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...

  4. mybatis 一对多的注入 指的是连表查询时候 将不同的查询结果以列表存储对象形式 注入进去 多对一指的是 查询多条结果但都是一样的 只需注入一条

    mybatis 一对多的注入 指的是连表查询时候 将不同的查询结果以列表存储对象形式 注入进去 多对一指的是 查询多条结果但都是一样的 只需注入一条

  5. SpringBoot 2.x 整合ElasticSearch的demo

    SpringBoot 2.x 整合ElasticSearch的demo 1.配置文件application.yml信息 # Tomcat server: tomcat: uri-encoding: U ...

  6. 【第十二章】 springboot + mongodb(复杂查询)

    简单查询:使用自定义的XxxRepository接口即可.(见 第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(Bas ...

  7. 第11章—使用对象关系映射持久化数据—SpringBoot+SpringData+Jpa进行查询修改数据库

    SpringBoot+SpringData+Jpa进行查询修改数据库 JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分.但它又不限于EJB 3.0,你可以在Web应用.甚至桌面应用 ...

  8. 第十二章 springboot + mongodb(复杂查询)

    简单查询:使用自定义的XxxRepository接口即可.(见 第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(Bas ...

  9. 【mybatis】mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wait timeout exceeded; try restarting transaction

    今天使用mybatis和jpa的过程中,发现这样一个问题: mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wai ...

随机推荐

  1. mean项目的分模块开发

    全文字版: 新建maven工程在,作为父工程用于最后集合使用,该工程不需要src,只需要一个pom.xml文件,规定一下依赖版本之类的,再建一个工具类的工程,不需要放配置文件,和工程中方法接口有关的不 ...

  2. Python爬虫之Beautiful Soup库的基本使用

  3. Java开发学习心得(二):Mybatis和Url路由

    目录 Java开发学习心得(二):Mybatis和Url路由 1.3 Mybatis 2 URL路由 2.1 @RequestMapping 2.2 @PathVariable 2.3 不同的请求类型 ...

  4. 【Python 16】分形树绘制4.0(利用递归函数绘制分形树fractal tree)

     1.案例描述 树干为80,分叉角度为20,树枝长度小于5则停止.树枝长小于30,可以当作树叶了,树叶部分为绿色,其余为树干部分设为棕色. 2.案例分析 由于分形树具有对称性,自相似性,所以我们可以用 ...

  5. github使用个人总结

    1.获取github上面的源码时候,不能获取最新的,因为你的开发工作不一定是最新的要下载历史版本. 2.要使用里面的文件的时候,可以在目录后面url后面添加downloads 这样可以找到封装好的版本 ...

  6. nginx 499状态码

    Web服务器在用着nginx,在日志中偶尔会看到有499这个错误. rfc2616中,400-500间的错误码仅定义到了417,所以499应该是nginx自己定义的.后来想到读读nginx代码,疑问立 ...

  7. JVM内存溢出时快照转存HeapDump到文件

    # Heap Dump 获取方式使用 JVM 参数获取 dump 文件进入Tomcat的'bin'目录,在'catalina.sh'文件里添加如下内容 >-XX:+HeapDumpOnOutOf ...

  8. DeeplabV3+ 训练自己的遥感数据

    一.预处理数据部分 1.创建 tfrecord(修改 deeplab\ dateasets\ build_data.py) 模型本身是把一张张 jpg 和 png 格式图片读到一个 Example 里 ...

  9. DSP到底是个什么鬼?看完你就懂了

    DSP 即数字信号处理技术, DSP 芯片即指能够实现数字信号处理技术的芯片. DSP芯片是一种快速强大的微处理器,独特之处在于它能即时处理资料. DSP 芯片的内部采用程序和数据分开的哈佛结构,具有 ...

  10. IntelliJ IDEA 2018.3 重大升级,哪些功能打动了你?

    前言 2018.11.28 IntelliJ IDEA 2018.3 正式版发布.对于一个忠实爱好者,迫不及待的我下载了最新版本来体验下.而且 IDEA 今年的第三次重大更新提供了不容错过的显著功能! ...