首先导入oracle驱动包。驱动包一般在你安装的oracle里跟network同级的jdbc文件夹下的lib文件夹里面。复制过来就行。
1.导包
首先我们导入java.sql.*
import java.sql.*;
2.驱动注册
Class.forName("oracle.jdbc.driver.OracleDriver");
通过Class.forName(driver_name); 会执行driver_name路径下的类的static静态块一次。
3.驱动管理器根据注册驱动获取对应的连接。Java和oracle连接,获取连接对象
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String uname ="scott";
String pwd = "scott";
Connection con = DriverManager.getConnection(url,uname,pwd);
其中url 字符串为: jdbc:oracle:thin:@数据库服务器IP:数据库端口号:数据库实例名
数据库服务器IP本机的话可以写localhost
数据库实例名就类似于你登录PL/SQL时的Database 。
另外uname,pwd也是对应于PL/SQL登录界面的Username和Password
这个时候Java和数据库就连接成功了。
以下是完整代码:
import java.sql.*;
public class jdbctest {
public static void main(String[]args) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String uname ="scott";
String pwd = "scott";
Connection con = DriverManager.getConnection(url,uname,pwd);
System.out.println(con.getClass().getName());
}
}
他会输出:oracle.jdbc.driver.T4CConnection
下面示范一个简单的查询操作。
我们输出select ename,sal from emp 的结果;
4.通过连接对象获取语句对象。此处为了简单,会出现SQL注入问题,后续会通过Statement的子类PreparedStatement解决.
Statement stmt = con.createStatement();
5.通过语句对象获取结果集对象。并将sql语句传入。查询会把查询出来的数据放在ResultSet结果集对象中。
String sql = "select ename,sal from emp";
ResultSet rs = stmt.executeQuery(sql);
6.遍历结果集并输出值。
while(rs.next()) {
System.out.println("姓名:"+rs.getObject("ename")+","+"薪资:"+rs.getObject("sal"));
}
7.最后我们要关闭连接对象,语句对象,结果集对象。
con.close();
stmt.close();
rs.close();
查询结果就输出到通知台上了。
以下是完整代码:
import java.sql.*;
public class jdbctest {
public static void main(String[]args) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String uname ="scott";
String pwd = "a";
Connection con = DriverManager.getConnection(url,uname,pwd);
System.out.println(con.getClass().getName());
Statement stmt = con.createStatement();
String sql = "select ename,sal from emp";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
System.out.println("姓名:"+rs.getObject("ename")+","+"薪资:"+rs.getObject("sal"));
}
con.close();
stmt.close();
rs.close();
}
}
文章浏览阅读9.9k次,点赞9次,收藏12次。java是一门编程语言, 它有三个开发平台:j2ee、j2se、 j2me。(其实android也算一个了) j2ee, 也就是web开发,比如网站、各类管理系统,主要是围绕数据库、网页等进行的开发。j2ee涵盖的技术比较多,除了java语法,还需要掌握html/css/javascript等浏览器前端开发技术、jsp/servlet等服务器开发技术,mysql/oracle/sqlse..._java游戏是什么时代
文章浏览阅读2.1k次,点赞18次,收藏56次。实现命令行背单词功能_背单词程序设计代码c语言
文章浏览阅读2.3w次,点赞12次,收藏82次。RocketMQ简单介绍是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式特点。 Producer、Consumer队列都可以分布式。 Producer向一些队列轮流发送消息,队列集合称为 Topic,Consumer 如果做广播消费,则一个consumer实例消费这个Topic 对应的所有队列,如果做集群消费,则多个Consumer 实例平均消费这个topic对应的队列集..._onsaddr
文章浏览阅读2.7k次。9.13号下午四点半去面了金蝶的前端开发,事后回想起来,其实面试官问的问题一点都不难,我反思自己面试失败的原因可能在以下几点:首先是自己太紧张,导致说话太快,我应该更沉稳一点;其次根本的原因就是我学习前端的时间太短,我实际学习只有三月份到现在半年左右,我和面试官说的是学习时间一年,但显然我自身的知识储备量不够,还有很多的东西没看,我感觉这大概就是面试官反复问我学习方法的原因,估计是她认为我不应该在..._金蝶前端招聘难吗
文章浏览阅读1.2k次。最简单的方法是用pgrep 获取进程号,然后kill掉_linux 杀掉进程脚本
文章浏览阅读1.8k次,点赞3次,收藏24次。实验三 单元测试实验类别:基本实验实验目的:(1)掌握单元测试技术,并要求按照单元测试的要求设计测试用例。(2)掌握在Eclipse里进行Junit4测试的技术。实验内容:日期问题测试以下程序:该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31和1900≤ year ≤2050),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为 2004 年11月30日,则该程_请完成隔一天日期的判定表构建
文章浏览阅读209次,点赞2次,收藏4次。(可选): 如果你的 Flask 应用需要通过域名来访问,你可能需要配置一个反向代理服务器(如 Nginx 或 Apache)来将客户端的请求转发到 WSGI 服务器。: 首先,你需要选择一个 WSGI 服务器来部署 Flask 应用。: 部署完成后,确保监控服务器的运行状态,并及时处理可能出现的异常情况。: 使用命令行进入到 Flask 应用的根目录,然后执行以下命令启动 WSGI 服务器。的 Python 文件,并编写你的 Flask 应用代码。部署 Flask 应用到 WSGI 服务器需要一些步骤。_flask使用wsgi部署
文章浏览阅读6.4k次,点赞3次,收藏15次。一 tf.confusion_matrix(y,pred_y)以二分类为例,混淆矩阵为2*2的矩阵,如果我们真实标签为real=[0,1,1,0,1],预测标签为predict=[0,1,0,1,1]tf.confusion_matrix(real,predict)可以得到一个混淆矩阵如果为one-hot编码则需要使用tf.argmax(y,1) real=tf.argmax..._tensorflow 混淆矩阵
文章浏览阅读2k次。计算机二级科目怎么选哪个最简单计算机二级科目怎幺选择呢,哪个比较简单的,下面小编为大家提高计算机二级科目都有什幺怎样选择,仅供大家参考。计算机二级主要分为几类计算机二级考试主要分两类:一类是语言程序设计,(如:C、C++、Python、Java、Visual Basic、WEB);另一类是数据库程序设计(如:Access、MySQL)MS Office难度:★★★价值:★★★★计算机的基础知识,W..._msoffice和python哪个简单
文章浏览阅读1.2k次。 在安装好Tensorflow models(参见我的AI之路(18)--Tensorflow的模型安装之object_detection)后,下载Object_Detection_Tensorflow_API.ipynb文件,这个文件相对于object_detection里自带的object_detection_tutorial.ipynb来说,除了对静态测试图片中的狗和人等物体的识别,后面增..._imageio: 'ffmpeg-win32-v3.2.4.exe' was not found on your computer; downloadi
文章浏览阅读328次。作者:Java我人生blog.csdn.net/chenleixing/article/details/44994571没事不用存储过程,既然用了,就看看怎么优化吧最近在忙着优化集团公司..._if @lotname<>
文章浏览阅读1.6w次,点赞6次,收藏84次。原帖地址:http://www.anandtech.com/show/9969/jedec-publishes-hbm2-specification高带宽存储器(HBM)技术解决了与现代DRAM相关的两个关键问题:它显着增加了计算设备(例如GPU)可用的带宽并降低了功耗。第一代HBM在容量和时钟速率方面有许多限制。但是,第二代HBM有望消除它们。制定DRAM标准的主要半导体工程贸易组织JEDEC最近发布了第二代HBM(HBM2)的最终规范,这意味着该组织的成员已经批准了该标准。新的存储技术建立在原始JE_kgsd