zoukankan      html  css  js  c++  java
  • 存储过程


    存储过程
    CallableStatement(从PreparedStatement扩展来)
    cs=connection.prepareCall("{call psname(?,?,?)}");
    cs.registerOutParameter(index,Types.INTEGER);
    cs.getXXX(i,XXXX);
    cs.executeUpdate();
    int id=cs.getInt(index);

    前端工具下
    数据库上右击-->Create New Procedure/Function-->Name:"...."--

    >Create PROCEDURE-->

    DELIMITER $$   -- 定义分隔符
    DROP PROCEDURE IF EXISTS `jdbc`.`addUser` $$   -- 判断如果存在这个存储过程则删除
    -- 定义参数:IN 输入参数,OUT 输出参数
    CREATE PROCEDURE `jdbc`.`addUser` (IN pname VARCHAR(45),IN birthday DATE,IN money FLOAT,OUT pid INT)
    BEGIN
      INSERT INTO USER(name,birthday,money) VALUES (pname,birthday,money);
      SELECT LAST_INSERT_ID() INTO pid; -- 获得最后一次插入的ID号,放入pid中
    END $$

    DELIMITER ;

    -->Execute;

    public class PsTest {
     public static void main(String[] args) {
      ps();
     }
     static void ps(){
      Connection conn=null;
      CallableStatement cs=null;
      ResultSet rs=null;
      try {
    //   建立连接
    //   conn=JdbcUtils.getConnection();
       conn=JdbcUtilsSing.getInstance().getConnection();//使用单例
       String sql="{call addUser(?,?,?,?)}";
       cs=conn.prepareCall(sql);
       cs.registerOutParameter(4,

    Types.INTEGER);
       cs.setString(1, "ps name");
       cs.setDate(2, new java.sql.Date

    (System.currentTimeMillis()));
       cs.setFloat(3, 100f);
       cs.executeUpdate();
       int i=cs.getInt(4);
       System.out.println("i="+i);
      } catch (Exception e) {
       e.printStackTrace();
      }finally{
    //   释放资源
       JdbcUtils.free(rs, cs, conn);
      }
     }
    }

  • 相关阅读:
    extjs__(grid Panel绑定数据)
    web项目中对post请求乱码处理
    lucene之Field属性的解释
    spring整合mybatis框架
    jasperreports实现pdf文档的生成
    ireport图形化界面生成pdf文档
    iText框架(生成pdf文档)
    spring配置问题
    动手实践PHP7的HashTable
    基于epoll实现一个IO多路复用的回声服务器
  • 原文地址:https://www.cnblogs.com/mingforyou/p/2287719.html
Copyright © 2011-2022 走看看