《oracle开发实战经典》《oracle DBA从入门到精通》

JDBC连接数据库

JNDI连接池

oracle.jdbc.driver.OracleDriver 其实就是一个包下的类

URL地址格式:jdbc(协议名): 数据库类型(子协议名):\\数据库IP地址:端口号:数据库名

1)oracle

2)mysql

java.sql.DriverManager类:管理一组 JDBC 驱动程序的基本服务。

getConnection(String url, String user, String passqord)

如果封装的话,用到java.util.Properties对象的load( )方法和getProperty( )方法,java.lang.Class类的getResourceAsStream( )方法

java.sql.Statement接口:用于执行静态 SQL 语句并返回它所生成结果的对象。

在默认情况下,同一时间每个 Statement 对象在只能打开一个 ResultSet 对象。

statement接口用来装载sql语句的两个方法:

---executeUpdate 主要用于增删改查

---executeQuery(sql) 主要用于查询语句,执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。

StringBuffer

StringBuilder: 将 StringBuilder 的实例用于多个线程是不安全的。在 StringBuilder 上的主要操作是 appendinsert 方法

3、写sql语句规范:必须使用StringBuilder存储,每一个关键字单独占一行,每一行左右要敲空格 ---工作中可以使用excel表格制作

4、接口 ResultSet     ---表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。

结果集的分类:是否可以滚动,是否可以更新

结果集类型的设置:

createStatement(int resultSetType, int resultSetConcurrency,int resultSetHoldability)throws SQLException

结果集中游标移动的方法:

数据类型对应:

Oracle                   Java

Number(4)          int/long

Number(4,2)       double

Char/VarChar2    String

Date                  java.sql.Date

步骤:1、 加载驱动对象  Class.forName(" ");该方法是一个静态方法,同时它可能抛出异常,所有需要写在try-catch语句块中

2、建立连接  使用java.sql中的Connection接口来声明一个对象,再使用DriverManager类的静态方法getConnection创建连接对象

 try {
             if(connection == null || connection.isClosed()){
                 Class.forName("oracle.jdbc.driver.OracleDriver");    //反射检查驱动包是否存在,此处可以使用Properties配置
                 connection = DriverManager.getConnection("jdbc:oracle:thin:@PC-201510220952:1521:orcl","aa","aa");    //获得connection
             }
         } catch (ClassNotFoundException e) {
             Log.logger.error(e.getMessage() + "---请检查数据库连接的jar包");
         }catch (SQLException e){
             Log.logger.error(e.getMessage() + "--- 请检查url和用户名、密码");
         }        

3、关闭数据库连接 实际项目中会出现”连接泄漏“,所有一般将close写在try-catch-finally的finally语句中,保证即便发生异常,也可以关闭数据库

添加jar包步骤:

1)、jdbc驱动包:用于连接oracle,是有oracle自身提供,目录 D:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib下ojdbc6.jar--将驱动包复制到项目的lib文件夹下

2)、右键项目名称--Build path-- configure build path--Java Build Path--Libraries--Add JARs--选择项目lib文件夹下的ojdbc6.jar

简便操作:点击ojdbc6.jar -- 右键 -- Add Build Path to...

MyEclipse DataBase Explorer -- MyEclipse Derby --右键新建--Database Driver完整配置--Test Driver是否成功--拷贝Connection URL到记事本--同时拷贝Driver ClassName到记事本

java.sql 接口 Connection ---特定数据库的连接(会话,session)默认情况下,Connection 对象处于自动提交模式下,这意味着它在执行每个语句后都会自动提交更改。

数据库connection的使用原则:

晚打开,早关闭 ---目的是节省资源

1、数据库的connection的打开、关闭,比简单的SQL执行,要更耗费性能

2、数据库的connection。是企业级工程的最宝贵资源---数据操作的瓶颈通常在connection获取上

每一个交易一个connection

交易         ---泛称:biz或service类中的每一个public方法 (很多业务逻辑写在biz)

---用户注册示例: 1、画业务流程图  ------A、用户名是否被占用

B、身份证ID是否有效 通过web service

C、手机校验

D、密码校验

E、密码加密

F、邮箱校验

2、数据的openConnection()在需要的时候打开

3、在biz方法结束的时候关闭Connection

4、注意:transaction的处理在biz的public方法

biz方法的主要职责: 1、业务流程控制

2、处理响应的业务逻辑

3、调用Dao方法,完成数据库操作

4、transaction处理

5、关闭非托管资源

oracle管理:

oracle user: 用于登录(需要赋权)

Connection:sun公司为了管理各种数据库,定义了java.sql接口

Session :oracle对客户端的管理(多线程,进程)

oo思想:  SRP /  OCP

核心思想:三层开发 ui  -->> biz  -->> dao 调用关系

1、一个ui的方法最好只调一个biz的public方法

2、一个biz的public方法可以调用多个dao的多个方法

实体:

entity -->> vo(value object) -->> pojo(plain old java object) -->> dto(data transfer object)

特点:没有方法,只有简单属性,用于数据传输

java系列--JDBC连接oracle的更多相关文章

  1. JAVA通过JDBC连接Oracle数据库详解【转载】

    JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...

  2. java使用jdbc连接oracle(其他数据库类似)

    最基本的Oracle数据库连接代码: 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\oracle\product ...

  3. java通过JDBC连接Oracle并调用存储过程和存储方法

    初始配置:电脑安装oracle 11g(这里也可使是其它版本也可,此教程演示为11g),java环境,eclipse,oracle关于jdbc的jar包. 一,在scott用户下首先要有存储过程和存储 ...

  4. java中JDBC连接Oracle数据库

    package com.xxxx.lunwen.test;import java.sql.*;public class DBUtil { static { try { // 加载Oracle驱动程序 ...

  5. Java使用JDBC连接Oracle数据库

    import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; /** * @author liu ...

  6. Java通过JDBC连接Oracle之后查询结果和在sqlplus查询结果不一样

    问题描述: 在sqlplus 下 orcl数据库中创建一张表后,使用insert语句插入几条数据 然后用java查询数据,发现在终端中输出的结果和在sqlplus中查询结果不一样. 在sqlplus中 ...

  7. JDBC连接ORACLE无法登陆java.sql.SQLException: ORA-01017: invalid username/password; logon denied

    当用jdbc连接Oracle数据库的时候 private Connection getConnection() throws SQLException { OracleDataSource ods = ...

  8. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

  9. Linux(Centos)下jdbc连接oracle速度超慢的问题

    最近在centos下写个java swing程序,发现在linux用jdbc连接oracle及其缓慢,还经常失败.但是同样的程序在windows下运行就连接的非常快.网上搜索了很长时间都和我这情况没关 ...

随机推荐

  1. ratingbar设置不可调节星星数量

    <RatingBar android:id="@+id/rb_bar" android:layout_width="wrap_content" andro ...

  2. JSP文件上传--Smartupload组件

    把smartupload.jar copy到D:\apache-tomcat-7.0.57\lib下. 创建htm上传文件:smartupload_demo01.htm 由于是上传文件,需要对表单进行 ...

  3. UIView 面面观

    原创:转载请注明出处 1.UIView: 一个视图对象控制该区域的渲染,同时也控制内容的交互. 2.UIView的功能就是:展示.渲染.交互 3.UIView 和很多其他视图控件的默认tag值是0,所 ...

  4. 认识DWR

    Direct Web Remoting DWR的官网:http://directwebremoting.org/dwr/index.html 什么是DWR? DWR是一个Java库,使服务器上的Jav ...

  5. iOS的基本图形绘制

    绘图的步骤: 1.获取上下文 2.创建路径(描述路径) 3.把路径添加到上下文 4.渲染上下文 通常在- (void)drawRect:(CGRect)rect这个方法里面绘制图形 为什么要再draw ...

  6. js正则之零宽断言

    我们学到的正则表达式匹配,都是有“宽度”的,使用 \w+. 匹配下面文本,会将 . 一同匹配: regular. expression. 如果不想匹配符号,只匹配一个位置,就要用到“零宽断言”(匹配宽 ...

  7. JAVA基础---面向对象

    方法的重载Overload: 一个类中可以定义有相同的名字, 参数不同的多个方法. 调用时, 会根据不同的参数选择对应的方法. static: 在数据区, 可以计数,属于类,不属于对象: public ...

  8. wget获取https资源

    使用wget获取 https资源,缺省命令下是要使用证书,如果还未安装证书,可以选择忽略. 例如没有github.com的证书,执行如下命令 mkdir -p model cd model wget ...

  9. YouKu iOS笔试题一

    序言 最近收到某某同学将去youku的iOS笔试题的邮件,希望笔者能整理一下,并提供参考答案.笔者决定整理出来,并分享给大家.当然,与此同时,也想看看youku的笔试题到底有多难,也考考自己有多少料吧 ...

  10. Nginx 虚拟主机下支持Pathinfo并隐藏入口文件的完整配置

    server { listen 80; server_name zuqiu.com; # 设置你的域名 index index.html index.htm index.php; root D:/wn ...