javaJDBC(3)-获取主键、调用存储过程
2014-02-19 13:25
435 查看
说明:这里接上篇,使用前面总结的jdbcutil.java实现获取主键与调用存储过程
获取主键:
package cn.itcast.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.Test;
import cn.itcast.util.JdbcUtil;
public class GetDBGenKeyDemo {
/**
* @param args
*/
@Test
public void test() {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.prepareStatement("insert into t1 (name) values(?)");
stmt.setString(1, "jh");
stmt.executeUpdate();
//以下获取生成的主键
rs = stmt.getGeneratedKeys();
if(rs.next()){
System.out.print(rs.getInt(1));
//System.out.println(rs.getInt(2));
}
}catch(Exception e){
e.printStackTrace();
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
}
调用存储方法:
package cn.itcast.jdbc;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Types;
import org.junit.Test;
import cn.itcast.util.JdbcUtil;
/*这里的内容在数据库内执行
delimiter $$
CREATE PROCEDURE demoSp(IN inputParam VARCHAR(255),INOUT inOutParam VARCHAR(255))
BEGIN
SELECT CONCAT('welcom---',inputParam) into inOutParam;
END $$
delimiter ;
*/
//如何调用存储过程
public class InvokeProcedureDemo {
@Test
public void test() {
// TODO Auto-generated method stub
Connection conn = null;
CallableStatement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.prepareCall("{call demoSp(?,?)}");
stmt.setString(1, "to qingdao");
stmt.registerOutParameter(2,Types.VARCHAR);
stmt.execute();
String value = stmt.getString(2);
System.out.println(value);
}catch(Exception e){
e.printStackTrace();
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
}
获取主键:
package cn.itcast.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.Test;
import cn.itcast.util.JdbcUtil;
public class GetDBGenKeyDemo {
/**
* @param args
*/
@Test
public void test() {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.prepareStatement("insert into t1 (name) values(?)");
stmt.setString(1, "jh");
stmt.executeUpdate();
//以下获取生成的主键
rs = stmt.getGeneratedKeys();
if(rs.next()){
System.out.print(rs.getInt(1));
//System.out.println(rs.getInt(2));
}
}catch(Exception e){
e.printStackTrace();
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
}
调用存储方法:
package cn.itcast.jdbc;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Types;
import org.junit.Test;
import cn.itcast.util.JdbcUtil;
/*这里的内容在数据库内执行
delimiter $$
CREATE PROCEDURE demoSp(IN inputParam VARCHAR(255),INOUT inOutParam VARCHAR(255))
BEGIN
SELECT CONCAT('welcom---',inputParam) into inOutParam;
END $$
delimiter ;
*/
//如何调用存储过程
public class InvokeProcedureDemo {
@Test
public void test() {
// TODO Auto-generated method stub
Connection conn = null;
CallableStatement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.prepareCall("{call demoSp(?,?)}");
stmt.setString(1, "to qingdao");
stmt.registerOutParameter(2,Types.VARCHAR);
stmt.execute();
String value = stmt.getString(2);
System.out.println(value);
}catch(Exception e){
e.printStackTrace();
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
}
相关文章推荐
- java中web.xml中的<listener> 详解
- javaJDBC(2)-抽取jdbcutil及配置文件读取数据库信息
- 第八章 Spring Bean的生命周期(Spring Framework3.1教程)
- 深入理解java虚拟机(二):java内存溢出实战
- Lorg/eclipse/jetty/util/component/Container$Listener及org.slf4j.spi.LocationAwareLogger.log
- 2014年2月19日 java中的异或运算
- java web.xml配置详解(转)
- 不敢留下运行结果的人能回复下吗?(坏笑)
- java 开源 cms FreeCMS1.6发布
- getClass().getResource()获得URL地址
- Java Socket常见异常处理
- 静态内部类和非静态内部类的区别
- 为什么静态方法不能直接访问非静态成员?
- R中rJava包载入时报错的问题
- java ATM简单编写
- android 不使用eclipse 生成android 和打包的 命令
- java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
- Java的反射机制(一)
- Eclipse安装SVN插件
- 第七章 Spring Bean的范围(Spring Framework3.1教程)