1 CREATE OR REPLACE PROCEDURE TESTPRO(PARAM1 IN VARCHAR2,PARAM2 IN VARCHAR2) AS 2 BEGIN 3 INSERT INTO TESTTABLE (ID,NAME) VALUES (PARAM1, PARAM2); 4 END TESTPRO; 5 Java代码: 6 7 package com.dragon.test; 8 import org.springframework.jdbc.core.JdbcTemplate; 9 public class JdbcTemplateTest { 10 private JdbcTemplate jdbcTemplate; 11 public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { 12 this.jdbcTemplate = jdbcTemplate; 13 } 14 public void test(){ 15 this.jdbcTemplate.execute("call testpro('p1','p2')"); 16 } 17 }
折腾我一下午,原来存储过程需的变量声明类型,要大写,或者要给出大小,报错报的不明显
参考
CREATE DEFINER=``@`` PROCEDURE `kll_adduser`(weixin_id varchar(128),hotel_id INT,hotel_name VARCHAR(128),user_name VARCHAR(20),user_cardid VARCHAR(15),user_phone varchar(15), checkin_time varchar(15),letter varchar(200)) BEGIN Insert Into kh_userinfo (weixin_id,hotel_id,hotel_name,user_name,user_cardid,user_phone,checkin_time) Values(weixin_id,hotel_id,hotel_name,user_name,user_cardid,user_phone,checkin_time); Insert Into hk_share (user_phone,user_cardid,art_content)VALUES(user_phone,user_cardid,letter); END