前提:和之前同样的,本篇会从前端和后台一起讲述关于SQL的select操作(其他操作原理大致类似,不多做解释了)。

大致流程:前端通过AJAX将数据发送到后台的路由,后台路由会根据发送的数据进行SQL操作,并返回对应数据。


1:DB的table表建立

我们这边只建立一个简单的table表,建表的语句大致如下(本地为mysql):

CREATE TABLE `user_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
)

建立好table以后,我们插入一条记录,执行语句:INSERT INTO `user_info`(`id`,`name`)VALUES(1,‘zhuyt');


2:前端fetch

fetch与剧中的url需要根据自己的后台设置,对应后台执行的是select操作,代码如下:

fetch("http://localhost:8080/index/userInfo",{
method:'post', // or 'PUT'
headers:{
"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"
},
body:"id=1", // data can be `string` or {object}!
}).then(res => res.json()).then(data => {
console.log(data);
}).catch(error => console.error('Error:', error));

3:后台

首先关于pom,我们要加入两个依赖模块,第一个模块是关于mybatis与mysql的,第二个模块是关于JSON格式相关的内容:

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>

关于controller模块,代码如下:

package maven.example.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import maven.example.service.UserService;
import net.sf.json.JSONArray; @RestController
@RequestMapping(value = "/index")
public class IndexController { @Autowired
private UserService userService; @RequestMapping("/userInfo")
public JSONArray userInfo(@RequestParam("id") String id) {
return userService.getUserInfo(Integer.valueOf(id));
}
}

关于service模块,代码如下:

package maven.example.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import maven.example.entity.UserEntity;
import maven.example.mapper.UserMapper;
import net.sf.json.JSONArray; @Service
public class UserService { @Autowired
private UserMapper userMapper; public JSONArray getUserInfo(Integer id){
List<UserEntity>li = userMapper.getUserInfo(id);
JSONArray listArray = JSONArray.fromObject(li);
return listArray;
}
}

关于UserMapper接口模块,代码如下:

package maven.example.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select; import maven.example.entity.UserEntity; @Mapper
public interface UserMapper { @Select("SELECT * FROM USER_INFO WHERE ID=#{id}")
@Results({
@Result(property = "id", column = "id"),
@Result(property = "name", column = "name")
})
List<UserEntity>getUserInfo(@Param("id") Integer id);
}

关于model模块,代码如下:

package maven.example.entity;

public class UserEntity {
private Integer id;
private String name; public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

完整的后台代码可以去以下地址拉取,https://github.com/nnnnnjjjjj/springboot.git


4:执行

我们打开浏览器,输入对应的地址,并点击F12键,可以看到确实打印出了DB查询到的数据。

Springboot第五篇:结合myBatis进行SQL操作的更多相关文章

  1. SpringBoot第五篇:整合Mybatis

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10869315.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   ORM框架 ...

  2. SpringBoot(五)Springmvc+Mybatis+mysql

    为了整合这个花了,好长时间,因为上几个连在一起,在pom文件中有没注释的配置,导致我找这个问题找了好久.下面开始 1,先new project 时选择spring initializr,新建好一个空项 ...

  3. 第五篇、常用的SQL语句和函数介绍

    简介: 在使用到sqlite3的时候,常常需要写一些SQL语句,现将常用到的部分语句稍微总结以下,由于个人习惯,关键字用大写. 附: /*简单约束*/ CREATE TABLE IF NOT EXIS ...

  4. Mybatis第五篇【Mybatis与Spring整合】

    Mybatis与Spring整合 既然我们已经学了Mybatis的基本开发了,接下来就是Mybatis与Spring的整合了! 以下使用的是Oracle数据库来进行测试 导入jar包 aopallia ...

  5. mybatis入门篇:mybatis动态SQL

    1.if用法 <select id="selectUser" resultType="com.forest.owl.entity.User"> se ...

  6. Mybatis相关SQL操作总结

    1.resultMap和resultType等参数以及结果集 <select id="getApplicationByRoleCode" resultType="p ...

  7. SpringBoot第五集:整合Druid和MyBatis(2020最新最易懂)

    SpringBoot第五集:整合Druid和MyBatis(2020最新最易懂) 1.SpringBoot整合Druid Druid是阿里巴巴的一个开源项目,是一个数据库连接池的实现,结合了C3P0. ...

  8. 第五篇 SQL Server安全架构和安全

    本篇文章是SQL Server安全系列的第五篇,详细内容请参考原文. 架构本质上是一个数据库对象,其他对象的一个容器,在复杂的数据库中它能够很容易的管理各组对象.架构具有重要的安全功能.在这一篇你会学 ...

  9. 第五篇 SQL Server代理理解代理错误日志

    本篇文章是SQL Server代理系列的第五篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.在第四篇中我们看到 ...

随机推荐

  1. laydate的使用

    理论可以看看:http://blog.csdn.net/u013372487/article/details/50534034 下载包:链接:http://pan.baidu.com/s/1kUNQ6 ...

  2. Spring 通知

    1. AspectJ 支持 5 种类型的通知注解:  @Before: 前置通知, 在方法执行之前执行 @After: 后置通知, 在方法执行之后执行 @AfterRunning: 返回通知, 在方法 ...

  3. Android-UIUtils-工具类

    UIUtils工具类,主要是处理和Activity有关,和界面显示层有关的公共方法: package common.library.utils; import android.app.Activity ...

  4. Android-有序广播是可以中断的

    在之前的博客,Android-广播概念,中介绍了(广播和广播接收者)可以组件与组件之间进行通讯,有两种类型的广播(无序广播 和 有序广播),这篇博客就来讲解有序广播的代码实现: 有序广播:接收者 可以 ...

  5. The Scope Chain

    JavaScript is a lexically scoped language: the scope of variable can be thought of as the set of sou ...

  6. Axure8.0入门级基础操作到高手产品经理

    宅男下载了一个Axure8.0.从来没有用过,那就从最基础的了解一下呗. 1.添加元件,选择元件设置样式(右侧对话框中)略!!!!! 2.按住ctrl键,用鼠标点选元件,可以任意旋转3.点元件上的黑圆 ...

  7. oracle 批量删除触发器

    --生成删除触发器的语句 select 'drop trigger "'||trigger_name||'";' from all_triggers  where TRIGGER_ ...

  8. PHP爬虫(3)PHP DOM开源代码里的大坑和字符编码

    一.开源代码的问题 在PHP爬虫(2)中介绍了开源工程Sunra.PhpSimple.HtmlDomParser.在实际工作中发现一个问题,例如http://www.163.com的网页数据怎么也抓取 ...

  9. Solr相似度算法一:DefaultSimilarity(基于TF-IDF的默认相似度算法)

    默认的similarity是基于TF/IDF 模块. 该 similarity有以下配置选项: discount_overlaps –确定是否重叠的标识(标记位置增量为0)都将被忽略在正常计算的时候. ...

  10. Linux程序设计:目录维护

    一.相关系统调用 1.1 chmod 改变访问权限. #include <sys/stat.h> int chmod(const char *path, mode_t mode) 1.2 ...