前提:和之前同样的,本篇会从前端和后台一起讲述关于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. Golang之Struct(二叉树定义)

    接招吧,看代码: package main import "fmt" //二叉树结构体 //如果每个节点有两个指针,分别用来指向左子树和右子树,我们把这样的结构叫做二叉树 type ...

  2. UVa 818Cutting Chains (暴力dfs+位运算+二进制法)

    题意:有 n 个圆环,其中有一些已经扣在一起了,现在要打开尽量少的环,使所有的环可以组成一条链. 析:刚开始看的时候,确实是不会啊....现在有点思路,但是还是差一点,方法也不够好,最后还是参考了网上 ...

  3. 在iOS项目中引入MVVM

    本文翻译自:http://www.objc.io/issue-13/mvvm.html.为了方便读者并节约时间,有些不是和文章主题相关的就去掉了.如果读者要看原文的话可以通过前面的url直接访问.作者 ...

  4. Robotframework-Appium 之常用API(一)

    上一遍隨筆(https://www.cnblogs.com/cnkemi/p/9639809.html)用Python + Robotframework + Appium對Android app小試牛 ...

  5. java并发编程实战:第十章----避免活跃性危险

    在安全性和活跃性之间通常存在着某种制衡 一.死锁 定义:在线程A持有锁L并想获得锁M的同时,线程B持有锁M并尝试获得锁L,线程AB均不会释放自己的锁,那么这两个线程将永远地等待下去 在数据库系统的设中 ...

  6. 51nod1459迷宫问题—(迪杰斯特拉)

    1459 迷宫游戏  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 你来到一个迷宫前.该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间, ...

  7. oracle ebs 11i > concurrent programs –> request group –> responsibility

    --concurrent programs --request group --responsibility SELECT fr.responsibility_key,       fr.respon ...

  8. CentOS 7更换yum源

    1. 首先备份 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2. 使用阿里云的 ...

  9. [Elixir003] Mix Archives

    在[Elixir001]中使用 mix escript.build 生成一个lifelog 的escript启动脚本. 今天我们尝试一下另一种方式:生成Archives. 我们先添加一个Task 1. ...

  10. DataTable转List<T>

    /// <summary> /// DataTable转List<T> /// </summary> public static class TableToList ...