JDBC 存储过程
存储过程
DROP PROCEDURE IF EXISTS `addUser`;
CREATE PROCEDURE `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;
END;
java
package jdbc; import java.sql.*; public class PsTest {
public static void main(String[] args) throws SQLException {
ps();
} static void ps() throws SQLException {
Connection conn = null;
CallableStatement cs = null;
ResultSet rs = null;
try {
conn = JdbcUtils.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, 100.0f);
cs.executeUpdate();
int res = cs.getInt(4);
System.out.println("res= " + res); } finally {
JdbcUtils.free(rs, cs, conn);
}
}
}
api
package jdbc; import java.sql.*; public class OtherApi {
public static void main(String[] args) throws SQLException {
int id = create();
System.out.println(id);
} static int create() throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = JdbcUtils.getConnection();
String sql = "insert into user(name,birthday,money) values('name1','1987-01-01',400)";
ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.executeUpdate();
rs = ps.getGeneratedKeys();
int id = 0;
if (rs.next()) {
id = rs.getInt(1);
}
return id; } finally {
JdbcUtils.free(rs, ps, conn);
}
}
}
JDBC 存储过程的更多相关文章
- JAVA JDBC(存储过程和事务管理)
1.什么是存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程 ...
- SQLSERVER JDBC 存储过程调用偶尔很慢的原因之一【sp_sproc_columns】
在对于CallableStatement进行参数赋值或者取值时,建议直接用索引号,避免使用参数名称! 若使用参数名称,每次调用该存储过程时,jdbc会自动执行 exec sp_sproc_column ...
- JDBC存储过程调用
在讨论JDBC Statement教程文章时,我们已经学习了如何在JDBC中使用存储过程. 本教程文章与该部分类似,但它将讲解演示有关JDBC SQL转义语法的其他信息. 就像Connection对象 ...
- 数据库操作,jdbc的CRUD
用Java代码操作数据库,可以用JDBC.首先要加载驱动,之后建立连接,再然后就可以对数据库进行操作. 1.建立连接.此处用的是MySQL数据库 public class DBUtil { publi ...
- 转自“脚本之家”!!JDBC之PreparedStatement类中预编译的综合应用解析
JDK 文档:SQL 语句被预编译并存储在 PreparedStatement 对象中(PreparedStatement是存储在JDBC里的,初始化后,缓存到了JDBC里),然后可以使用此对象多次高 ...
- Java学习笔记——JDBC之PreparedStatement类中“预编译”的综合应用
预编译 SQL 语句被预编译并存储在 PreparedStatement 对象中.然后可以使用此对象多次高效地执行该语句. 预编译的优点 1.PreparedStatement是预编译的,对于批量处理 ...
- JDBC中的Statement和PreparedStatement的差别
以Oracle为例吧 Statement为一条Sql语句生成运行计划, 假设要运行两条sql语句 select colume from table where colume=1; select col ...
- [转] JDBC中的Statement和PreparedStatement的区别
以Oracle为例吧 Statement为一条Sql语句生成执行计划,如果要执行两条sql语句select colume from table where colume=1;select colume ...
- java:数据库操作JDBC
JDBC详解:https://www.cnblogs.com/erbing/p/5805727.html JDBC存储过程,事务管理,数据库连接池,jdbc的封装框架:https://www.cnbl ...
随机推荐
- vue使用过程中遇到的细节问题
1. 在methods 中添加一个方法.如果这个方法使用箭头函数的话,箭头函数中的this不是当前的vue实例,所以通过this.xxx是获取不到实例上面的属性的,这时我们可以用函数的简写来获取到实例 ...
- laravel 模型观察器
模型观察器 对模型的生命周期内的多个时间点进行监控,分别有 ~ing 和 ~ed 事件 每个监控方法接收 model 作为唯一参数 使用观察器 创建观察器文件,一个普通类,不需要继承什么 针对需要的事 ...
- django中的session,cookie
https://blog.csdn.net/chen1042246612/article/details/84327046 https://www.imooc.com/wenda/detail/396 ...
- sping中AOP
委托代理的概念: 委托类对象就是我们后面说到的"目标对象", 也就是需要[被]代理的对象 target代理类对象就是我们后面说到的"代理对象",目标对象就是需要 ...
- 树莓派安装中文输入法Fcitx及Google拼音输入法
本来是想给树莓派安装搜狗输入法的, 搜狗输入法Linux版:https://pinyin.sogou.com/linux/?r=pinyin 但是一直安装不成功,后面发现原来是系统架构不同导致的,搜狗 ...
- 吴裕雄 PYTHON 神经网络——TENSORFLOW 单隐藏层自编码器设计处理MNIST手写数字数据集并使用TensorBord描绘神经网络数据
import os import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from tensorflow ...
- 吴裕雄 python 神经网络——TensorFlow图片预处理调整图片
import numpy as np import tensorflow as tf import matplotlib.pyplot as plt def distort_color(image, ...
- 4500-X启动到“511K bytes of non-volatile configuration memory”,无法继续?
在设备做了某些配置后,尤其是升级,重启设备后,发现设备在如下界面卡住,无法进一步进入CLI命令行. Platform Manager: starting in standalone mode (act ...
- IIS-代理
http://192.168.11.3:8083/java 访问 http://192.168.11.3:8089 http://192.168.11.3:8083/?id=1 访问http:/ ...
- 【Struts 动态表单】DynaActionForm
RegisterAction package k.action; import org.apache.struts.action.ActionForm; import org.apache.strut ...