从0开始学存储过程(二)---项目实战篇
程序员文章站
2024-03-16 11:07:10
...
如果你对MySQL的存储过程基础知识还不了解请看我上一篇文章从0开始学存储过程(一)
说明:这里主要讲解在项目中如何运用存储过程,我这里使用的工具是IDEA,项目搭建使用Springboot+MySQL+SSM,测试工具使用postman
一.目录结构
项目是怎么搭建的不是这里的重点,所以不打算讲。
二、数据库表employee
三、创建Employee实体
四、创建EmployeeMapper
五、创建addEmployee1添加功能的存储过程
DELIMITER $$
CREATE
PROCEDURE `demo`.`addEmployee1`(in e_empId integer,in e_empName VARCHAR(50),in e_empSex varchar(50))
BEGIN
insert into employee (empId,empName,empSex) VALUES (e_empId,e_empName,e_empSex);
END$$
DELIMITER ;
六、在EmployeeMapper.xml调用addEmployee1存储过程
<!--增加用户-->
<insert id="addEmployee" parameterType="cn.test.demo.exercise.pojo.Employee" statementType="CALLABLE">
{call addEmployee1(#{empId,mode=IN},#{empName,mode=IN},#{empSex,mode=IN})}
</insert>
七、创建deleteEmployee1存储过程
DELIMITER $$
USE `demo`$$
DROP PROCEDURE IF EXISTS `delectEmployee1`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `delectEmployee1`(IN e_empId INTEGER)
BEGIN
DELETE FROM employee WHERE empId=e_empId;
END$$
DELIMITER ;
八、在EmployeeMapper.xml调用deleteEmployee1存储过程
<!--删除用户-->
<delete id="deleteEmployee" parameterType="Integer" statementType="CALLABLE">
{call delectEmployee1(#{empId,mode=IN})}
</delete>
九、创建selectEmployee1存储过程
DELIMITER $$
USE `demo`$$
DROP PROCEDURE IF EXISTS `selectEmployee1`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `selectEmployee1`(IN e_empId INTEGER)
BEGIN
SELECT * FROM employee WHERE empId=e_empId;
END$$
DELIMITER ;
十、在EmployeeMapper.xml调用selectEmployee1存储过程
<!--根据id查询用户-->
<select id="getEmployeeById" parameterType="Integer" resultType="cn.test.demo.exercise.pojo.Employee" statementType="CALLABLE">
{call selectEmployee1(#{empId,mode=IN})}
</select>
十一、创建updateEmployee1存储过程
DELIMITER $$
USE `demo`$$
DROP PROCEDURE IF EXISTS `updateEmployee1`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `updateEmployee1`(IN e_empName VARCHAR(50),IN e_empId INTEGER)
BEGIN
UPDATE employee SET empName=e_empName WHERE empId=e_empId;
END$$
DELIMITER ;
十二、在EmployeeMapper.xml调用updateEmployee1存储过程
<!--更新用户-->
<update id="updateEmployee" parameterType="cn.test.demo.exercise.pojo.Employee" statementType="CALLABLE">
{call updateEmployee1(#{empName,mode=IN},#{empId,mode=IN})}
</update>
十三、创建Dao
package cn.test.demo.exercise.dao;
import cn.test.demo.exercise.pojo.Employee;
public interface EmployeeMapper {
//增加用户
public void addEmployee(Employee employee);
//删除用户
public boolean deleteEmployee(Integer empId);
//根据id查询用户
public Employee getEmployeeById(Integer empId);
//更新用户
public boolean updateEmployee(Employee employee);
}
在项目中一个简单的增删改查的demo就写好了。项目我上传了,需要的可以去下载。
如果你对MySQL的存储过程基础知识还不了解请看我上一篇文章从0开始学存储过程(一)
上一篇: 类和对象
下一篇: AJAX入门?有这一篇就够了!
推荐阅读