mysql存储过程之Java调用_不吝孤独_新浪博客

mysql存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后再该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快! 因此在java程序中调用存储过程的话,查询的速度就会很快。
--存储过程.sql
 SQL Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
-- 连接数据库
USE test
-- 删除存储过程
DROP  PROCEDURE  IF  EXISTS selectAllEmp;

-- 将mysql默认结束符设为//避免与结束符;冲突
DELIMITER //
CREATE  PROCEDURE selectAllEmp()
BEGIN
   SELECT *  FROM tb_employee;
END //
-- 恢复mysql默认结束符,但是执行会说执行语句为空,这个应该是在mysql运行窗口中有用。
DELIMITER ;

-- 显示权限
SHOW GRANTS  FOR root@localhost
-- 赋权(不能为空用户赋权。注意:重复赋权会报错,因此建议执行赋权之前先显示权限或者直接执行存储过程)
GRANT  EXECUTE  ON  PROCEDURE selectAllEmp  TO root@localhost;
GRANT  EXECUTE  ON  PROCEDURE selectAllStu  TO root@localhost;
-- 撤销权限
REVOKE  EXECUTE  ON  PROCEDURE selectAllEmp  FROM root@localhost;
REVOKE  EXECUTE  ON  PROCEDURE selectAllStu  FROM root@localhost;
;
-- 刷新mysql系统权限相关表
FLUSH  PRIVILEGES;
-- 执行存储过程
CALL selectAllEmp
CALL selectAllStu

SELECT *  FROM tb_employee

-- 重设密码
UPDATE mysql. user  SET PASSWORD=PASSWORD( 'root'WHERE  USER= 'root';


-- 创建新用户并赋权
CREATE  USER  'test'@ 'localhost'  IDENTIFIED  BY  'test';
GRANT  ALL  ON *.*  TO  'test' @ 'test'


--model包下的Employee.java(对应数据库中的Employee表,建表就不做介绍了)
 Java Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.kk.model;

public  class Employee {
     private  int empId;
     private  String empName;
     private  int empAge;
     private  String empSex;
     private  String empDuty;
     public Employee(){
        
    }
     public  int getEmpId() {
         return empId;
    }
     public  void setEmpId( int empId) {
         this.empId = empId;
    }
     public  String getEmpName() {
         return empName;
    }
     public  void setEmpName( String empName) {
         this.empName = empName;
    }
     public  int getEmpAge() {
         return empAge;
    }
     public  void setEmpAge( int empAge) {
         this.empAge = empAge;
    }
     public  String getEmpSex() {
         return empSex;
    }
     public  void setEmpSex( String empSex) {
         this.empSex = empSex;
    }
     public  String getEmpDuty() {
         return empDuty;
    }
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值