jdbc连接Oracle

public static void main(String[] args) {
//声明连接对象、执行sql对象、结果集对象
Connection conn = null;
PreparedStatement pre = null;
ResultSet results = null;
//添加jar驱动
try{
//注册驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//获取连接数据库对象
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String name = "SCOTT";
String pwd = "SCOTT";
//DriverManage初始化时会扫描到注册的Driver实例
conn = DriverManager.getConnection(url,name,pwd);
System.out.println("连接成功");
//定义要执行的sql
String sql = "SELECT * FROM SCOTT.STUDENT";
//获取执行sql对象,预编译sql,进行缓存
pre = conn.prepareStatement(sql);
//执行SQL并返回结果集
results = pre.executeQuery();
System.out.println("执行成功");
while(results.next()){
System.out.println("学生名:"+results.getString("STUNAME"));
}
}catch (Exception e){
e.printStackTrace();
}finally {
try {
if (results != null)
results.close();
if (pre != null)
pre.close();
if (conn != null)
conn.close();
System.out.println("数据库连接已关闭!");
} catch (Exception e) {
e.printStackTrace();
}
}
}

//增删改查
package dao;

import entity.StuEntity;
import oracle.jdbc.driver.utils.StringUtils;

import java.sql.*;

public class StuDao {
//声明连接对象、执行sql对象、结果集对象
private static Connection conn = null;
private static PreparedStatement pre = null;
private static ResultSet results = null;

public Connection getConnection() throws SQLException {
try {
//注册驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//获取连接数据库对象
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String name = "SCOTT";
String pwd = "cpp123456";
//DriverManage初始化时会扫描到注册的Driver实例
conn = DriverManager.getConnection(url,name,pwd);
System.out.println("连接成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return conn;
}

public ResultSet selectStu()throws SQLException {
//定义要执行的sql
String sql = "SELECT * FROM SCOTT.STUDENT";
//获取执行sql对象,预编译SQL,减少sql执行
pre = conn.prepareStatement(sql);
//执行SQL并返回结果集
results = pre.executeQuery();
System.out.println("执行select成功");
return results;
}

public void deleteStu(String stuId) throws SQLException {
//定义要执行的sql
String sql = "delete from SCOTT.STUDENT where STUID=?";
//获取执行sql对象,预编译SQL,减少sql执行
pre = conn.prepareStatement(sql);
//传参
pre.setString(1,stuId);
//执行SQL返回受影响行数
int i=pre.executeUpdate();
System.out.println("执行delete,成功删除"+i+"条数据");
}

public void addStu(StuEntity stuEntity)throws SQLException {
//定义要执行的sql
String sql = "insert into SCOTT.STUDENT values(?,?,?,?,?)";
//获取执行sql对象,预编译SQL,减少sql执行
pre = conn.prepareStatement(sql);
//传参
pre.setString(1,stuEntity.getStuId());
pre.setString(2,stuEntity.getStuName());
pre.setString(3,stuEntity.getStuAge());
pre.setString(4,stuEntity.getStuSex());
pre.setString(5,stuEntity.getStuAddress());
//执行SQL返回true或false
pre.execute();
System.out.println("执行add成功");
}

public void updateStu(StuEntity stuEntity)throws SQLException {
//定义要执行的sql
String sql = "update SCOTT.STUDENT"+
" set STUNAME=?,STUAGE=?,STUSEX=?,STUADDRESS=?"+
" where STUID=?";
//获取执行sql对象,预编译SQL,减少sql执行
pre = conn.prepareStatement(sql);
//传参
pre.setString(1,stuEntity.getStuName());
pre.setString(2,stuEntity.getStuAge());
pre.setString(3,stuEntity.getStuSex());
pre.setString(4,stuEntity.getStuAddress());
pre.setString(5,stuEntity.getStuId());
//执行SQL返回受影响行数
int i=pre.executeUpdate();
System.out.println("执行update,成功更新"+i+"条数据");
}
}
posted @   一叶丶飘霖  阅读(223)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示