# JDBC -- The Java™ Tutorials
# Study Note of JDBC

JDBC Study Note ----connect to database

通常,使用JDBC执行SQL语句需要下面5 个步骤:
1> 建立一个连接         | establish a connection
2> 构造一条语句         | create a statement
3> 执行语句             | execute the query
4> 处理结果             | process the resultset object
5> 关闭连接             | close the connection

1. 建立连接
  1.1 Registe Driver
    Class.forName("oracle.jdbc.driver.OracleDriver");
    # 如果使用的是JDBC 4.0 后的版本,这一步可以忽略
  1.2 Get Connection
    con = DriverManger.getconnection(dburl,username,password);
    # dburl 是指JDBC driver 用于连接的数据库
    # dburl中包含了数据库的名字和配置
    # 具体的url语法是由使用的数据库决定的
    
    1.2.1 oracle 数据库的url格式
    jdbc:oracle:<drivertype>:@<database>
    # 具体内容:
    # https://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Code:

package myjdbc;import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.InvalidPropertiesFormatException;
import java.util.Properties;public class myjdbcutil {public String dbms;public String dbName; public String userName;public String password;private String serverName;private int portNumber;private Properties prop;public myjdbcutil(String filename) throws FileNotFoundException, InvalidPropertiesFormatException, IOException{this.setProperties(filename);}/* get properties from .properties file* and set these values to Corresponding fields * */private void setProperties(String fileName) throws FileNotFoundException,IOException,InvalidPropertiesFormatException {this.prop = new Properties();InputStream fis =  this.getClass().getResourceAsStream(fileName);prop.load(fis);this.dbms = this.prop.getProperty("dbms");this.dbName = this.prop.getProperty("database_name");this.userName = this.prop.getProperty("user_name");this.password = this.prop.getProperty("password");this.serverName = this.prop.getProperty("server_name");this.portNumber = Integer.parseInt(this.prop.getProperty("port_number"));System.out.println("Set the following properties:");System.out.println("dbms: " + dbms);System.out.println("dbName: " + dbName);System.out.println("userName: " + userName);System.out.println("password: " + password);System.out.println("serverName: " + serverName);System.out.println("portNumber: " + portNumber);}/* step 1 to execute query using JDBC* get connection with connection properties* */public Connection getConnection() throws ClassNotFoundException, SQLException{Class.forName("oracle.jdbc.driver.OracleDriver");System.out.println("Oracle JDBC Driver Registered!");Connection conn = null;Properties connectionProps = new Properties();connectionProps.put("user", this.userName);connectionProps.put("password", this.password);if (this.dbms.equals("oracle")) {String dburl = "jdbc:"+this.dbms+":"+dbName+":@"+this.serverName+":"+this.portNumber+"/xe";System.out.println("dburl is:"+dburl);conn = DriverManager.getConnection(dburl, connectionProps);System.out.println("Connected to database successfully!");}return conn;}
}

JDBC Connection

Test Code:

package myjdbc;public class TestJdbc {public static void main(String[] args) {// TODO Auto-generated method stubtry{myjdbcutil db = new myjdbcutil("mydb.properties");db.getConnection();}catch(Exception e){e.printStackTrace();}}
}

Test

OutPut:

Set the following properties:
dbms: oracle
dbName: thin
userName: test
password: test
serverName: localhost
portNumber: 1522
Oracle JDBC Driver Registered!
dburl is:jdbc:oracle:thin:@localhost:1522/xe
Connected to database successfully!

View Code

pros:

dbms=oracle
database_name=thin
user_name=test
password=test
server_name=localhost
port_number=1522
jdbc:::@localhost:1522/xe

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

下一篇:构造执行语句

转载于:https://www.cnblogs.com/ct-blog/p/5547299.html

java APIs for database -------- JDBC (1)connection相关推荐

  1. JAVA.SQL.SQLNONTRANSIENTCONNECTIONEXCEPTION: COULD NOT CREATE CONNECTION TO DATABASE SERVER. ATTEMPT

    错误信息 java.sql.SQLNonTransientConnectionException: Could not create connection to database server. At ...

  2. Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot get a connection, p

    报文: ### The error occurred while executing a query ### Cause: org.springframework.jdbc.CannotGetJdbc ...

  3. Java基础篇:JDBC核心技术

    文章目录 第1章:JDBC概述 1.1 数据的持久化 1.2 JDBC介绍 1.3 JDBC程序编写步骤 第2章:获取数据库连接 2.1 要素一:Driver接口实现类 2.1.1 Driver接口介 ...

  4. java数据库编程之JDBC

    第七章:JDBC 7.1:jDBC简介 7.1.1:为什么要使用JDBC Java是通过JDBC技术实现对数据的访问的,JDBC是java数据库(Java database  connectivity ...

  5. Java之十五 JDBC编程

    视频课堂:https://edu.csdn.net/course/play/8222 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事.换言之,有了JDBCAPI,就不必为访问Sybase ...

  6. Java学习笔记之JDBC

    JDBC 穷且益坚 不坠青云之志 文章目录 JDBC 一.概念 1. 简介 二.入门 1. 步骤 2. 代码 三.详解 1. 各个对象 2. 详解 2.1 DriverManager 2.2 Conn ...

  7. Java 第27章 JDBC

    JDBC 模版 JDBC 的工作原理 JDBC API 提供者:Sun公司 内容:供程序员调用的接口与类,集成在java.sql 和javax.sql 包中,如: DriverManager 类 Co ...

  8. Java的知识点33——JDBC

          测试与数据库建立连接 package cn.dym01;import java.sql.Connection; import java.sql.DriverManager; import ...

  9. Java中的事务——JDBC事务和JTA事务

    转载自 Java中的事务--JDBC事务和JTA事务 我的博客中曾经关于事务有过很多讨论,之前的事务介绍基本都是数据库层面的事务,本文来介绍一下J2EE中和事务相关的内容,在阅读本文之前,希望读者对分 ...

最新文章

  1. [轉]如果把HTML當成飾品....
  2. CSP认证201409-4 最优配餐[C++题解]:bfs、多源bfs、最短路、图论
  3. 软件项目管理0806:分包付款资料
  4. 笔记-项目整体管理-有难度的题目(转)
  5. js面向对象之创建对象1
  6. 不得了,日本出版社竟是这样吸引死宅学编程的
  7. python从包中导入模块_Python中包,模块导入的方法
  8. 【Siddhi】Syntax error in SiddhiQL, no viable alternative at input
  9. QQ聊天记录恢复、迁移教程(改变默认存储位置、个人文件夹保存位置)
  10. 移动固态硬盘没有连接到计算机,移动固态硬盘装个Win to go,这才是移动固态硬盘正确的打开方式...
  11. 混淆矩阵(Confusion Matrix)
  12. 怎么将wmv格式转换成mp4
  13. LiveData更新数据报错java.lang.IllegalStateException: Cannot invoke setValue on a background thread
  14. filter过滤器的FilterConfig 类
  15. 希尔排序(c语言实现)
  16. 已经一点经纬度和距离,计算另一点的经纬度
  17. BlackSquid恶意软件分析:利用8个臭名昭著的漏洞攻击服务器,并投放挖矿恶意软件
  18. ubuntu IOS文件下载
  19. 模拟灯光JAVA_著名CG灯光大师谈灯光技术
  20. 管道PIPE_BUF说明

热门文章

  1. 关于 shell 脚本编程的10 个最佳实践
  2. 国内主流Android安卓应用市场简介
  3. opencv 阈值分割_用 OpenCV 去除图片中的水印,骚操作!
  4. 网页设计工资一般多少_初级会计师就业前景怎么样?工资一般多少?
  5. 实现原理 扫描枪_条码扫描枪工作原理
  6. geany配置python3.8_Parrot security 4.10-amd64
  7. linux netfilter路由表,Linux netfilter 学习笔记 之十四 netfilter模块会修改数据包关联的路由缓存吗...
  8. id,rowid,rownum 区别
  9. java文件选择器_java中文件选择器JFileChooser的用法
  10. 常州工学院计算机毕业论文多少字,研究常州工学院毕业论文(设计)系统快速使用指南.doc...