`

JDBC Call MySQL Proc

    博客分类:
  • J2EE
阅读更多

MySQL PROC :

-----------------------------------------------------------------------------------------------------------------------

 

CREATE DEFINER=`root`@`%` PROCEDURE `proc_sequence`(OUT sequence varchar(25))
BEGIN
        SELECT CONCAT(prefix, imsi, Date_format(yearmonthday,'%Y%m%d'), sufix) INTO sequence
        FROM ra_sequence
        WHERE seq_id=1 ;
    UPDATE ra_sequence SET yearmonthday = current_date , sufix =sufix + 1
        WHERE prefix='xg' AND imsi='00000000001' AND seq_id = 1 ;
END

 

-----------------------------------------------------------------------------------------------------------------------

 

JAVA CODE

 

==================================================================

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.mysql.jdbc.CallableStatement;

public class ConnectionMySQL {
    public static Connection getConnection() throws Exception {
        String driver = "org.gjt.mm.mysql.Driver";
        String url = "jdbc:mysql://127.0.0.1:3306/redantsDB?useUnicode=true&characterEncoding=UTF-8";
        String username = "root";
        String password = "123";

        Class.forName(driver);
        Connection conn = (Connection) DriverManager.getConnection(url,
                username, password);
        return conn;
    }

    public static void main(String[] args) {

        Connection connection = null;
        CallableStatement callableStatement = null;
        try {
            connection = getConnection();
            String proc_name = "{CALL proc_sequence(?)}";
            callableStatement = (CallableStatement) connection
                    .prepareCall(proc_name);
            callableStatement.registerOutParameter(1, java.sql.Types.VARCHAR);
            callableStatement.executeUpdate();

            System.out.println(callableStatement.getString(1));
        } catch (Exception e) {
            e.printStackTrace();
        } finally {

            try {
                if (null != callableStatement) {
                    callableStatement.close();
                }
                if (null != connection) {
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

 

分享到:
评论

相关推荐

    JDBC连接操作Oracle及Mysql详解

    例如,`CallableStatement cs = connection.prepareCall("{call some_proc(?, ?)}");`,然后设置输入和输出参数。 7. **事务处理**: JDBC提供了管理事务的能力。`connection.setAutoCommit(false)`可以禁用自动提交...

    java_proc.zip_jdbc 存储过程

    这通常涉及到在项目中添加对应数据库的JDBC驱动依赖,例如对于MySQL,我们需要添加mysql-connector-java库。 接下来,调用存储过程主要分为以下几个步骤: 1. **建立连接**:使用`DriverManager.getConnection()`...

    jdbc调用存储过程 函数例子

    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb", "username", "password"); ``` #### 步骤2:创建CallableStatement对象 接下来,创建`CallableStatement`对象,它是用于...

    mysql存储过程mysql存储过程

    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password"); CallableStatement cstmt = conn.prepareCall("{ call get_employee_count(?)}"); cstmt....

    mysql,sqlserver,oracle三种数据库的大对象存取解析.docx

    CallableStatement cs = conn.prepareCall("{ call proc_insert_blob(?, ?) }"); cs.setString(1, "aaa.exe"); cs.setBlob(2, new FileInputStream("d:/aaa.exe")); // ... CallableStatement cs2 = conn....

    Java调用存储过程的2种方法

    需要注意的是,这里使用的`sun.jdbc.odbc.JdbcOdbcDriver`是一个针对ODBC桥接的驱动,现代应用中更推荐使用对应的JDBC驱动,如MySQL的`com.mysql.cj.jdbc.Driver`。 2. **创建连接**: ```java Connection con = ...

    Hibernate --调用存储过程(全).docx

    CallableStatement call = conn.prepareCall("{Call proc()}"); ResultSet rs = call.executeQuery(); rs.close(); session.close(); ``` 3. **使用`createSQLQuery`方法**:这是更灵活的方式,可以直接在`Session`...

    Java访问数据库.pdf

    JDBC是一种Java API,可以通过JDBC驱动与多种数据库管理系统(DBMS)进行通信,如MySQL、Oracle、SQL Server等。它提供了标准的方法来访问不同类型的数据库,使得Java程序能够使用SQL语句来查询和更新数据库中的数据...

    java调用存储过程示例

    字符串格式通常是"{call PROC_NAME(?, ?)}",问号是占位符,对应存储过程的输入/输出参数。 3. **设置参数**: 使用`CallableStatement`的`setXXX()`方法(这里的XXX是参数类型,如`setInt()`、`setString()`等)...

    java 调用存储过程返回单个值

    String url = "jdbc:mysql://localhost:3306/yourdb"; String username = "root"; String password = "password"; try (Connection conn = DriverManager.getConnection(url, username, password)) { // 创建...

    存储过程的操作

    callableStatement = connec.prepareCall("{call proc1(?) }"); callableStatement.setInt(1, inputParam); callableStatement.execute(); } catch (SQLException e) { e.printStackTrace(); } } ``` 这里,`...

    JBoss Myeclipse EJB3 Second Demo

    5. **SecondEJB**:这可能是一个具体的EJB组件,可能是无状态会话Bean的实现,它的职责可能包括与`ProcCall`协作,执行数据库操作,尤其是调用存储过程。 为了理解并实现这个示例,你需要掌握以下技术点: - EJB3的...

    java调用存储过程实现增删改查小程序

    1. **加载数据库驱动**:首先需要导入相应的JDBC驱动,例如对于MySQL,我们会引入`com.mysql.jdbc.Driver`,并使用`Class.forName()`方法加载驱动。 2. **建立连接**:使用`DriverManager.getConnection()`方法创建...

    java面试题综合

    15. 调用存储过程:使用JDBC的CallableStatement,设置SQL语句(如{call proc_name()})并绑定参数。 16. S2SH(Struts2 + Spring + Hibernate)整合:结合Struts2的MVC、Spring的依赖注入和Hibernate的ORM。 17. ...

Global site tag (gtag.js) - Google Analytics