j2ee规范-jdbc-存储过程调用(oracle为例)
来源:互联网 发布:香港量健集团知乎 编辑:程序博客网 时间:2024/06/06 04:24
oracle procedure
/* 创建存储过程 */--插入数据create or replace procedure insertUser( u_id OUT integer, uname varchar2, upass varchar2, rname VARCHAR2, usex number, uage number, uphone varchar2, uaddress varchar2, uauthority number) asbegin insert into sm_User values(SEQ_USERID.NEXTVAL,uname,upass,rname,usex,uage,uphone,uaddress,uauthority); SELECT SEQ_USERID.CURRVAL INTO u_id FROM dual;end;--根据ID查询数据create or replace procedure selectUserById(u_id integer, o_cur out sys_refcursor) asbegin open o_cur for select * from sm_User where userId = u_id;end;--declare --xx number := 2;--begin --selectUserById(xx); --dbms_output.put_line(xx);--end;--修改数据create or replace procedure updateUser( u_id integer, uname varchar2, upass varchar2, rname VARCHAR2, usex number, uage number, uphone varchar2, uaddress varchar2, uauthority number, ret_rows out integer) as begin update sm_User set lgName = uname, lgPass = upass, userName = rname, sex = usex, age = uage, userPhone = uphone, userAddr = uaddress, quanxian = uauthority where userId = u_id; ret_rows := sql%rowcount;end;--declare --xx integer := 5;--begin --updateUser(13,'火爆','123556','钱二',0,19,'23333223','fas',1,xx); --dbms_output.put_line(xx); --commit;--end;--删除数据create or replace procedure deleteUser( u_id in out integer) isbegin delete from sm_User where userid = u_id; u_id := sql%rowcount;end;
java
public int deleteUserInfo(int id) throws ClassNotFoundException, SQLException { // 根据Id删除用户 Connection conn = null; CallableStatement cs = null; String sql = "{call deleteUser(?)}"; try{ conn = super.getConn(); cs = conn.prepareCall(sql); cs.setInt(1, id); cs.registerOutParameter(1, oracle.jdbc.OracleTypes.INTEGER); cs.execute(); return cs.getInt(1); }finally{ super.closeAll(conn, cs, null); } } public void insertUserInfo(UserInfo info) throws SQLException, NamingException, ClassNotFoundException { // 插入用户数据 Connection conn = null; CallableStatement cs = null; String sql = "{call insertUser(?,?,?,?,?,?,?,?)}"; try{ conn = super.getConn(); cs = conn.prepareCall(sql); cs.setInt(1, info.getU_id()); cs.setString(2, info.getU_name()); cs.setString(3, info.getPass()); cs.setBoolean(4, info.isSex()); cs.setInt(5, info.getAge()); cs.setString(6, info.getPhone()); cs.setString(7, info.getAddress()); cs.setInt(8, info.getAuthority()); cs.execute(); }finally{ super.closeAll(conn, cs, null); } } public UserInfo selectUserInfoById(int id) throws ClassNotFoundException, SQLException, NamingException { //根据Id查询 Connection conn = null; CallableStatement cs = null; String sql = "call selectUserById(?,?)"; try{ conn = super.getConn(); cs = conn.prepareCall(sql); cs.setInt(1, id); cs.registerOutParameter(2,oracle.jdbc.OracleTypes.CURSOR); //输出参数必须注册 cs.execute(); ResultSet rs = (ResultSet)cs.getObject(2); UserInfo uf=null; if(rs.next()){ uf=new UserInfo(); uf.setAddress(rs.getString("address")); uf.setAge(rs.getInt("age")); uf.setAuthority(rs.getInt("authority")); uf.setPass(rs.getString("pass")); uf.setPhone(rs.getString("phone")); uf.setSex(rs.getBoolean("sex")); uf.setU_id(rs.getInt("u_Id")); uf.setU_name(rs.getString("u_Name")); } return uf; }finally{ super.closeAll(conn, cs, null); } } public int updateUserInfo(UserInfo info) throws SQLException, ClassNotFoundException, NamingException { // 更新用户数据 Connection conn = null; CallableStatement cs = null; String sql = "call updateUser(?,?,?,?,?,?,?,?,?)"; try{ conn = super.getConn(); cs = conn.prepareCall(sql); cs.setInt(1, info.getU_id()); cs.setString(2, info.getU_name()); cs.setString(3, info.getPass()); cs.setBoolean(4, info.isSex()); cs.setInt(5, info.getAge()); cs.setString(6, info.getPhone()); cs.setString(7, info.getAddress()); cs.setInt(8, info.getAuthority()); cs.registerOutParameter(9, oracle.jdbc.OracleTypes.INTEGER); cs.execute(); return cs.getInt(9); }finally{ super.closeAll(conn, cs, null); } }
阅读全文
0 0
- j2ee规范-jdbc-存储过程调用(oracle为例)
- j2ee-规范-jdbc-视图调用(oracle为例)
- jdbc调用oracle 存储过程
- JDBC调用Oracle存储过程
- jdbc调用Oracle存储过程
- jdbc调用oracle存储过程
- J2EE之oracle、mysql存储过程调用
- J2EE之oracle、mysql存储过程调用
- JDBC调用oracle存储过程(out parameter)
- jdbc中调用oracle存储过程
- Oracle 建立存储过程 以及jdbc调用
- Java通过JDBC调用oracle存储过程
- Oracle通用分页存储过程JDBC调用
- Java jdbc调用Oracle数据库存储过程
- java 调用Oracle 存储过程 Jdbc/Hibernate
- Java jdbc调用Oracle数据库存储过程
- JDBC实现调用ORACLE存储过程
- Oracle 存储过程,Hibernate 调用存储过程,JDBC调用存储过程,Oracle 动态SQL
- 无限极下拉列表数据库和代码
- 多态
- C++11之智能指针
- 《一斛珠·元夜月蚀》
- 树莓派使用上spi tft!(fbtft的使用)
- j2ee规范-jdbc-存储过程调用(oracle为例)
- JavaSwing_1.1: FlowLayout(流式布局)
- C++之消除头文件嵌套包含
- linux shell 条件判断if else, if elif else....
- struts2
- 【C语言】冒泡法排序的三种实现方法
- JavaSwing_1.2: GridLayout(网格布局)
- 使用spring实现邮件的发送(含测试,源码,注释)
- 初探BeEF