JDBC

JDBC

本章学习要点:

  • Statement

  • Preparedstatement

  • Callablestatement

Statement

1.加载驱动
class.forname(“oracle.jdbc.driver.OracleDriver”);
2.获得连接对象
connection con=drivermanager.getconnection(“jdbc:oracle:thin:@localhost:1521:ORCL”,”用户名”,”密码”);
3.建立st对象
statement st=con.createstatement();
4.执行sql语句
String sql=”sql语句”;
如果SQL语句是增,删,改的话
int count=st.executeupdate(sql);
返回的是int ,如果count>0则表示执行成功,否则执行失败
如果SQL语句是查询的话
resultset rs=st.executequery(sql)

遍历数据
while(rs.next()){//光标下移
//取数据
system.out.println(rs.getint(1)+…….)
}

5.关闭
rs.close;
st.close;
con.close;

Preparedstatement

1.加载驱动
class.forname(“oracle.jdbc.driver.OracleDriver”);
2.获得连接对象
connection con=drivermanager.getconnection(“jdbc:oracle:thin:@localhost:1521:ORCL”,”用户名”,”密码”);
3.输入SQL语句
String sql=”SQL语句”其中的变量用?代替
4.建立ps对象
preparedstatement ps=con.preparedstatement(sql)
5.赋值
ps.setString(1,变量);
ps.setInt(2,变量);
ps.setFloat(3,变量);
6.执行
(1)SQL语句是增,删,改
int count=ps.executeupdate();
count 大于1则操作成功
反之失败
或者
boolean flag=ps.execute返回的是布尔型
若flag=false 则操作成功
反之 失败
(2)SQL是查询
if(ps.execute();){
如果为真
resultset rs=ps.getresultset();
while(rs.next()){//光标下移
//取数据
system.out.println(rs.getint(1)+…….)
}

7.关闭
rs.close;(看是否有rs)
ps.close;
con.close;

Callablestatement

<1>调用方法是增删改
1.加载驱动
class.forname(“oracle.jdbc.driver.OracleDriver”);
2.获得连接对象
connection con=drivermanager.getconnection(“jdbc:oracle:thin:@localhost:1521:ORCL”,”用户名”,”密码”);
3.写入SQL
String sql=”{call 存储过程(参数?,参数?…….)}”;
4.建立cs对象
callablestatement cs= con.preparecall(sql);
5设置值
输入值
cs.setString(1,变量);
cs.setInt(2,变量);
cs.setFloat(3,变量);
返回值
cs.registeroutparemeter(4,types.数据类型);
6.执行
cs.execute;

7获得返回值
int count=cs.getInt(4);
return count;
根据返回值类型变化
8.关闭
if(cs!=null){
cs.close
}
if(con!=null){
cs.con
}

<2>调用方法是查询
1.加载驱动
class.forname(“oracl.jdbc.driver.jdbcodbcdriver”);
2.获得连接对象
connection con=drivermanager.getconnection(“jdbc:oracle:thin:@localhost:1521:ORCL”,”用户名”,”密码”);
3.写入SQL
String sql=”{call 存储过程(参数?,参数?…….)}”;
4.建立cs对象
callablestatement cs= con.preparecall(sql);
5设置值
输入值
cs.setString(1,变量);
cs.setInt(2,变量);
cs.setFloat(3,变量);
返回值
cs.registeroutparemeter(4,oracletypes.cursor//光标);
6.执行
cs.execute();
7.获得输出参数
rs=(Resultset)cs.getobject(4);
while(rs.next()){
system.out.println(rs.getint(1)+………)
}
8.关闭
if(rs!=null){
rs.close
}
if(cs!=null){
cs.close
}
if(con!=null){
cs.con
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值