首先声明:只是用最简单的方法大致了解如何用存储过程开发,如果需要查看存储过程创建语法的自行百度搜索

一、首先创建最基本的数据库

CREATE TABLE `t_user` (
`id` varchar() NOT NULL,
`user_name` varchar() DEFAULT NULL,
`user_acct` varchar() DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

按照版本不同进行适当修改,不要说什么sql不能用,这么简单的sql,自己手写一个适合的也很容易吧。

二、创建最简单的存储过程

CREATE PROCEDURE select_user(IN userId INT)
BEGIN
SELECT `name` FROM sys_user WHERE id = userId;
END

创建一个存储过程 IN 是输入参数 可以理解为查询条件传参

三、知道如何在mysql中更改和调用存储过程

SET @userId = '';
CALL select_user(@userId);

设置传入参数

四、创建基本的SpringBoot项目

通过idea直接进行创建、很简单,简单的SpringMvc项目

加入mysql架包和yml或properties文件

POM文件

 <!--mysql需要jar包 start-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--mysql需要jar包 end-->

application.yml或application.properties(填写自己对应的数据库)

spring:
datasource:
name: dataSource
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/owner?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=UTC
username: root
password: root

五、编写controller,service,dao,mapper.xml文件

ProcedureController(注意:我的是post请求,如果不会用postman的童鞋,请更改为get请求,注解为@GetMapper)
@RestController
@RequestMapping("procedure")
public class ProcedureController {
@Resource
private ProcedureService procedureService;
@PostMapping("/getParam")
public String getParam() {
Map<String,String> para = new HashMap<>(1);
para.put("userId","1");
String str = procedureService.getParam(para);
return str;
}
}
ProduceServiceImpl 面向接口编程(可以按照条件自己更改)debug调试的话可以知道str中存放的具体数据是什么,
@Service
public class ProduceServiceImpl implements ProcedureService {
@Resource
private ProcedureDao procedureDao;
@Override
public String getParam(Map<String, String> param) {
Map<String , String> str = procedureDao.getParam(param);
return "123";
}
}
ProcedureDao
public interface ProcedureDao {
Map<String , String> getParam(Map<String,String> param);
}
ProcedureDaoMapper.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.example.junittest.dao.ProcedureDao">
<parameterMap type="Map" id="getMap">
<parameter property="userId" jdbcType="VARCHAR" javaType="String" mode="IN"/>
</parameterMap>
<select id="getParam" parameterMap="getMap" statementType="CALLABLE" resultType="map">
{CALL select_user(?)}
</select>
</mapper>

六、运行调用接口即可

接口地址:http://localhost:8080/procedure/getParam

 

最新文章

  1. Eratosthenes筛选法构造1-n 素数表
  2. [drp 5] pageModel的建立,实现分页查询
  3. 关于JQuery 中$.ajax函数利用jsonp实现Ajax跨域请求ASP.NET的WebService成功获取数据的案例
  4. 用layer添加UIView的动画
  5. LwIP学习笔记——STM32 ENC28J60移植与入门
  6. Web API 2中的Action Results
  7. mysql之mysql_config_editor
  8. vim 翻页命令
  9. OO课程第三次总结QWQ
  10. centos7添加并挂载新硬盘
  11. html 表格边线设置
  12. Redis介绍和安装
  13. [openjudge-动态规划]Maximum sum
  14. LinkedList 底层实现原理
  15. MySQL的NO_BACKSLASH_ESCAPES
  16. C中typedef 函数指针的使用
  17. Python学习札记(三十五) 面向对象编程 Object Oriented Program 6
  18. dir listing 目录文件列表索引
  19. 武汉邀请赛 Key Logger 双向链表
  20. python3 - 元组、集合

热门文章

  1. 洛谷 P1920 成功密码 题解
  2. luogu P1850 换教室
  3. 数据库Oracle函数之单行函数的介绍
  4. JavaScript1 基础
  5. python实现十大核心算法(桶排没实例)
  6. 用Java编程语言对一个无序整形数组进行排序(冒泡排序,选择排序,插入排序)
  7. mongodb验证
  8. 【转】Nginx + CGI/FastCGI + C/Cpp
  9. 【CSS】343- CSS Grid 网格布局入门
  10. git 中的 merge 和 rebase