MySql 数据库用java程序创建表以及存储过程

上传人:jin****ng 文档编号:110346814 上传时间:2022-06-18 格式:DOC 页数:3 大小:24.50KB
返回 下载 相关 举报
MySql 数据库用java程序创建表以及存储过程_第1页
第1页 / 共3页
MySql 数据库用java程序创建表以及存储过程_第2页
第2页 / 共3页
MySql 数据库用java程序创建表以及存储过程_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述
MySql 数据库用 java 程序创建表以及存储过程 1.同一般的数据库操作基本一样。2.Statement.executeUpdate(String sql); 这个方法可以用来执行 DDL 语句, 以及执行更新操作。3. 需要注意 CallableStatement 接口的用法。用于执行SQL存储过程的接口。JDBC API提供了一个存储过程SQL转义语 法,该语法允许对所有 RDBMS 使用标准方式调用存储过程。此转义语法有一个 包含结果参数的形式和一个不包含结果参数的形式。如果使用结果参数,则必须 将其注册为 OUT 型参数。其他参数可用于输入、输出或同时用于二者。参数是 根据编号按顺序引用的,第一个参数的编号是 1。?= call , .call , .IN 参数值是使用从 PreparedStatement 中继承的 set 方法设置的。在执行存 储过程之前,必须注册所有 OUT 参数的类型;它们的值是在执行后通过此类提 供的 get 方法检索的。4. 需要注意 存储过程 调用的方法。5. registerOutParameter 的使用方法。void registerOutParameter(int parameterIndex, int sqlType) throws SQLException按顺序位置parameterIndex将OUT参数注册为JDBC类型sqlType。所 有 OUT 参数都必须在执行存储过程前注册。 由 sqlType 指定的 OUT 参数的 JDBC 类型确定必须用于 get 方法来读取该参数值的 Java 类型。 如果预期返 回给此输出参数的 JDBC 类型是取决于此特定数据库的,则 sqlType 应该是 。方法 getObject(int) 检索该值。参数:parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。sqlType - java.sql.Types 定义的 JDBC 类型代码。如果参数是 JDBC 类型 NUMERIC或DECIMAL,则应使用接受标度值的那种。下面是一个具体的程序实例:/* To change this template, choose Tools | Templates* and open the template in the editor.*/package gui.database;import java.sql.*;import java.util.logging.Level;import java.util.logging.Logger;/* author zhfdai*/public class DBManager public static void main(String args) final String DATABASE_NAME = jdbc:mysql:/localhost:3306/test; final String USER_NAME = root;final String PASSWORD = zhfdai;Connection connection;/ 为数据库建立的连接Statement statement;/ 将执行的 SQL 语句CallableStatement callable;/ 将执行的 SQL 存储过程try Class.forName(org.gjt.mm.mysql.Driver);connection = DriverManager.getConnection(DATABASE_NAME, USER_NAME, PASSWORD);statement = connection.createStatement();/* 创建时,先检查该数据库中该项是否已经存在。若存在,就删除。*/String checkTable = DROP TABLE IF EXISTS test.teacher; statement.executeUpdate(checkTable);String createTable = Create table test.teacher(name varchar(20) not null primary key ,age int not null);statement.executeUpdate(createTable);String checkProcedure1 = DROP PROCEDURE IF EXISTS test.queryall;statement.executeUpdate(checkProcedure1);String createProcedure1 = CREATE PROCEDURE test.queryall()BEGIN SELECT * FROM test.teacher; END; statement.executeUpdate(createProcedure1);String checkProcedure2 = DROP PROCEDURE IF EXISTS test.queryCount;statement.executeUpdate(checkProcedure2);String createProcedure2 = CREATE PROCEDUREtest.queryCount(OUT param INT) BEGIN SELECT COUNT(*) INTO param FROM test.teacher; END;statement.executeUpdate(createProcedure2);String query = queryall;callable = connection.prepareCall(call + query + ); ResultSet rs = callable.executeQuery();System.out.println(Column : + rs.getMetaData().getColumnCount();System.out.println(Table: + rs.getMetaData().getTableName(1);String queryCount = queryCount(?);callable = connection.prepareCall( call + queryCount + );callable.registerOutParameter(1,Types.INTEGER);/设定参数的数据类型。callable.executeQuery();/ 获取参数所得值。int rowCount = callable.getInt(1); System.out.println(The number of rows is + rowCount); catch (SQLException ex) Logger.getLogger(DBManager.class.getName().log(Level.SEV ERE, null, ex); catch (ClassNotFoundException ex) Logger.getLogger(DBManager.class.getName().log(Level.SEV ERE, null, ex);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!