Oracle数据库连接Eclipse的实例(解释为什么有时候明明在数据库里插入了数据却读不出来)
来源:互联网 发布:网络监听技术的应用 编辑:程序博客网 时间:2024/06/11 18:22
创建项目->导包->
libs:额外包目录
我们导好包之后就开始写连接代码了。
package com.squid.jdbc;import java.sql.Connection;import java.sql.Driver;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;import oracle.jdbc.OracleDriver;/** * @author Squid 2016-12-27 * @todo JDBC的六大步骤 */public class JDBCStep {public static void main(String[] args) {Connection connection = null;Statement statement = null;ResultSet rs = null;try {// 1.注册驱动/*//第一种方式:类加载Class.forName("oracle.jdbc.OracleDriver");*///第二种方式:利用Driver对象Driver driver=new OracleDriver();DriverManager.deregisterDriver(driver);//第三种方式:利用系统参数 -Djdbc.drivers=oracle.jdbc.OracleDriver// 2.获取连接String url = "jdbc:oracle:thin:@localhost:1521:XE";String username = "squid";String password = "squid";/*//第一种方式利用DriverManager(常用)connection = DriverManager.getConnection(url, username, password);*///第二种方式直接使用DriverProperties pro=new Properties();pro.put("user", username);pro.put("password", password);connection=driver.connect(url, pro);System.out.println(connection + "连接成功");// 3.获取执行sql语句对象/*//第一种statementstatement = connection.createStatement();*///第二种prepareStatementPreparedStatement preparedStatement=connection.prepareStatement("select *from tbl_user where id=?");// 4.执行语句/*rs = statement.executeQuery("insert into tbl_user values('5','第五')");*//*//配合第三步的第一种rs = statement.executeQuery("select *from" + " tbl_user");*///配合第三步的第二种preparedStatement.setInt(1, 2);//第一个参数指这是第一个"?",第二个参数是?的指为2,本案例即id=2//执行查询语句rs=preparedStatement.executeQuery();//执行任何语句,如果有结果集返回TRUE没有结果集返回falseboolean execute = preparedStatement.execute();//执行DML语句:insert update delete,返回值表示受影响的行数int update=preparedStatement.executeUpdate();System.out.println(execute);// 5.处理结果集while (rs.next()) {int id = rs.getInt("id");String name = rs.getString("name");System.out.println(id + " " + name);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {// 6.关闭资源,先开的后关try {if (rs != null)rs.close();if (statement!=null) {statement.close();}if (connection!=null) {connection.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}这是在博主已经建立了tbl_user表的情况下,如果我们没有表,刚刚通过控制台新建了一个表并插入了数据容易碰到一个奇怪的问题,那就是插入的数据查询不出来。
其实并不奇怪,这是一种事务回滚机制,就像我们银行卡转账一样,如果发生突发情况或者转出方没有确认是不能够成功的,这是一种事务回滚机制。通过commit提交之后才能够完成保存insert动作。
1 0
- Oracle数据库连接Eclipse的实例(解释为什么有时候明明在数据库里插入了数据却读不出来)
- UIAlertController 在didSelectRowAtIndexPath里 有时候点了半天才出来
- 做web开发的时候,有时候会很纠结,就是说,明明在网页上写了东西,但还是显示不出来
- tp5:为什么find()出来的数据有时候可以用toArray() 有时候会报错?
- 将oracle数据库里三百万的数据删掉了....
- 这篇文章完美的解释了为什么有人不喜欢Spinner,当它在某些主题下出来的非常丑
- Mysql,数据库中明明有这条数据却查不出来?
- “我插入MongoDB的数据都去哪了?”——明明抓取到了数据,为啥不见了?
- 为什么明明有这个类,但在classwizard里找不到?
- 在oracle里插入CLOB的程序
- php 数据库可以查到数据的sql语句,在代码里为什么查不到数据
- DML操作记录在UNDO中的信息(undo记录里包含了其对应的数据行的ROWID(并非直接记录,而是拼凑出来的))
- 通过excel向数据库(ORACLE)里插入数据
- 求救:如何在asp页面里向数据库插入数据
- eclipse里面的一些显示视图(为什么有时候程序在java模式下不能运行,在debug下可以运行)
- 明明在包含目录里包含了cv.h的路径,为什么还是报错error C1083: 无法打开包括文件: “opencv/cv.h”: No such file or directory
- gwt在eclipse、tomcat(数据库连接池)中单步调试客户与服务的完整实例---tomcat数据连接池(oracle10g)
- 在Oracle的XMLType里查询数据
- PHP PSR-3 日志接口规范
- c3&h5权威指南(1)
- 个人记录-LeetCode 58. Length of Last Word
- Linux系统启动过程
- 4种自动化测试模型
- Oracle数据库连接Eclipse的实例(解释为什么有时候明明在数据库里插入了数据却读不出来)
- 【ife】任务十九:基础JavaScript练习(二)
- hibernate核心api
- char int string转换小结
- 第四章 其他
- 深入了解AccessibilityService
- 【经典算法】:Dijskstra算法与Floyd算法
- (转载)如何写出正确的二分查找?——利用循环不变式理解二分查找及其变体的正确性以及构造方式
- MyBatis配置文件学习