java连接ORACLE的方法(DBUTIL类编写)
java连接数据库的工具类:DBUTIL
编写流程如下:
1.配置驱动包
(可以查看我的这篇博客:https://blog.csdn.net/qq_28198181/article/details/82499089)
2.可以在包下创建一个DBUTILl类:
3.打开DBUTIL配置相应的属性
private static String driver = "oracle.jdbc.driver.OracleDriver"; //driver驱动名字
private String url = "jdbc:oracle:thin:@host:port:SID";//连接的url,
private String user = "name";// oracle数据库的用户名
private String pwd = "pwd";// oracle数据库的用户密码
private PreparedStatement sta = null; //执行查询语句的类
private ResultSet rs = null; //执行查询语句后返回的结果的类
private Connection conn = null;//连接类
host:ip地址,port:端口,SID 配置的sid名称(也可能是数据库名称),注意使用 : 隔开
比如我的如下:
4.写静态块加载驱动
//加载驱动
static {
try {
Class.forName(driver); //dirver就是前面配置的driver名称
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
也可以不写静态块 不过是用静态块 可以让类启动的时候加载出来
我的如下:
4.获得链接
目的是为了连接到数据库 得到一个连接的实体
/**
* @return 连接对象
*/
public Connection getConn() {
try {
conn = DriverManager.getConnection(url, user, pwd); //输入url 用户 密码
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
断开连接
目的是用完了数据库 断开连接 避免连接占用资源
/**
* 关闭资源
*/
public void close() {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (sta != null) {
sta.close();
}
} catch (SQLException e2) {
e2.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
这样就把一个建议的DBUTIL编写好了
可以写一个测试类:
一个查询名字的测试类:
public class ConnectionTest {
public static void main(String[] args) {
Connection connection = new DBUtil().getConn(); //连接数据库
String sql = "SElECT TNAME" //sql语句
+" FROM V1_USER" // FROM 打了空格 避免与参数连接起来了
+" WHERE USERNAME like ? "; //WHERE前打了空格,道理同上
try {
PreparedStatement preparedStatement= connection.prepareStatement(sql); //把sql语句放进去
preparedStatement.setString(1,"liulu"); //设置参数
ResultSet set = preparedStatement.executeQuery(); //执行sql
if (set.next()){ //判断是否有值
System.out.println("名字:"+set.getString(1)); //取出值
}
}catch (Exception e){
e.printStackTrace();
}finally{
connection.close(); // 关闭连接
}
}
}
得到的答案: