java APIs for database -------- JDBC (1)connection
# 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:
![](/assets/blank.gif)
![](/assets/blank.gif)
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:
![](/assets/blank.gif)
![](/assets/blank.gif)
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:
![](/assets/blank.gif)
![](/assets/blank.gif)
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相关推荐
- JAVA.SQL.SQLNONTRANSIENTCONNECTIONEXCEPTION: COULD NOT CREATE CONNECTION TO DATABASE SERVER. ATTEMPT
错误信息 java.sql.SQLNonTransientConnectionException: Could not create connection to database server. At ...
- 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 ...
- Java基础篇:JDBC核心技术
文章目录 第1章:JDBC概述 1.1 数据的持久化 1.2 JDBC介绍 1.3 JDBC程序编写步骤 第2章:获取数据库连接 2.1 要素一:Driver接口实现类 2.1.1 Driver接口介 ...
- java数据库编程之JDBC
第七章:JDBC 7.1:jDBC简介 7.1.1:为什么要使用JDBC Java是通过JDBC技术实现对数据的访问的,JDBC是java数据库(Java database connectivity ...
- Java之十五 JDBC编程
视频课堂:https://edu.csdn.net/course/play/8222 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事.换言之,有了JDBCAPI,就不必为访问Sybase ...
- Java学习笔记之JDBC
JDBC 穷且益坚 不坠青云之志 文章目录 JDBC 一.概念 1. 简介 二.入门 1. 步骤 2. 代码 三.详解 1. 各个对象 2. 详解 2.1 DriverManager 2.2 Conn ...
- Java 第27章 JDBC
JDBC 模版 JDBC 的工作原理 JDBC API 提供者:Sun公司 内容:供程序员调用的接口与类,集成在java.sql 和javax.sql 包中,如: DriverManager 类 Co ...
- Java的知识点33——JDBC
测试与数据库建立连接 package cn.dym01;import java.sql.Connection; import java.sql.DriverManager; import ...
- Java中的事务——JDBC事务和JTA事务
转载自 Java中的事务--JDBC事务和JTA事务 我的博客中曾经关于事务有过很多讨论,之前的事务介绍基本都是数据库层面的事务,本文来介绍一下J2EE中和事务相关的内容,在阅读本文之前,希望读者对分 ...
最新文章
- [轉]如果把HTML當成飾品....
- CSP认证201409-4	最优配餐[C++题解]:bfs、多源bfs、最短路、图论
- 软件项目管理0806:分包付款资料
- 笔记-项目整体管理-有难度的题目(转)
- js面向对象之创建对象1
- 不得了,日本出版社竟是这样吸引死宅学编程的
- python从包中导入模块_Python中包,模块导入的方法
- 【Siddhi】Syntax error in SiddhiQL, no viable alternative at input
- QQ聊天记录恢复、迁移教程(改变默认存储位置、个人文件夹保存位置)
- 移动固态硬盘没有连接到计算机,移动固态硬盘装个Win to go,这才是移动固态硬盘正确的打开方式...
- 混淆矩阵(Confusion Matrix)
- 怎么将wmv格式转换成mp4
- LiveData更新数据报错java.lang.IllegalStateException: Cannot invoke setValue on a background thread
- filter过滤器的FilterConfig 类
- 希尔排序(c语言实现)
- 已经一点经纬度和距离,计算另一点的经纬度
- BlackSquid恶意软件分析:利用8个臭名昭著的漏洞攻击服务器,并投放挖矿恶意软件
- ubuntu IOS文件下载
- 模拟灯光JAVA_著名CG灯光大师谈灯光技术
- 管道PIPE_BUF说明
热门文章
- 关于 shell 脚本编程的10 个最佳实践
- 国内主流Android安卓应用市场简介
- opencv 阈值分割_用 OpenCV 去除图片中的水印,骚操作!
- 网页设计工资一般多少_初级会计师就业前景怎么样?工资一般多少?
- 实现原理 扫描枪_条码扫描枪工作原理
- geany配置python3.8_Parrot security 4.10-amd64
- linux netfilter路由表,Linux netfilter 学习笔记 之十四 netfilter模块会修改数据包关联的路由缓存吗...
- id,rowid,rownum 区别
- java文件选择器_java中文件选择器JFileChooser的用法
- 常州工学院计算机毕业论文多少字,研究常州工学院毕业论文(设计)系统快速使用指南.doc...