清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第20章 JDBC入门

第20章 JDBC入门 使用JDBC连接数据库 使用JDBC进行数据操作
第20章 • JDBC入门 – 使用JDBC连接数据库 – 使用JDBC进行数据操作

简介JDBC 應用程式 JDBC MySQL Driver DB2 Driver Oracle Driver MySQL DB2 Oracle
简介JDBC

简介JDBC JDBC数据库驱动程序依实作方式可以分为 四个类型 Type 1: JDBC-ODBC Bridge Type 2: Native-API Bridge Type 3: JDBC-middleware Type 4: Pure Java Driver 應用程式 應用程式 應用程式 應用程式 JDBC-ODBC Bridge Native-API Bridge JDBC-middleware Pure Java Driver ODBC Driver Native Driver middleware 資料庫 資料庫 資料庫 資料庫
简介JDBC • JDBC数据库驱动程序依实作方式可以分为 四个类型 – Type 1:JDBC-ODBC Bridge – Type 2:Native-API Bridge – Type 3:JDBC-middleware – Type 4:Pure Java Driver

连接数据库 载人JDBC驱动程序 try i Class forName("com mysql jdbc Driver )i catch(ClassNotFoundException e) t System.out. println("找不到驱动程序类别");
连接数据库 • 载入JDBC驱动程序 try { Class.forName("com.mysql.jdbc.Driver"); } catch(ClassNotFoundException e) { System.out.println("找不到驱动程序类别"); }

连接数据库 提供 JDBC URL 协定:子协定:数据源识别 jdbc:mysq1://主机名:端口/数据库名称?参数=值&参数=值 jdbc: mysql: //localhost: 3306/demo?user=root&password=123 jdbc: mysql: //localhost: 3306/demo?user=root&password=123& seUnicode=true& characterEncoding=Big 5
连接数据库 • 提供JDBC URL – 协定:子协定:数据源识别 jdbc:mysql://主机名:端口/数据库名称?参数=值&参数=值 jdbc:mysql://localhost:3306/demo?user=root&password=123 jdbc:mysql://localhost:3306/demo?user=root&password=123& useUnicode=true&characterEncoding=Big5

连接数据库 取得 Connection try i string url dbc: mysql://localhost: 3306/demo? " nuser=root &password=123 Connection conn DriverManager getConnection(url)i catch(SQLException e) String url ="jdbc: mysql: //localhost: 3306/demo"; String user =rooti String password =123 Connection conn DriverManager getConnection(url, user, password)i
连接数据库 • 取得Connection try { String url = "jdbc:mysql://localhost:3306/demo?" + "user=root&password=123"; Connection conn = DriverManager.getConnection(url); .... } catch(SQLException e) { .... } String url = "jdbc:mysql://localhost:3306/demo"; String user = "root"; String password = "123"; Connection conn = DriverManager.getConnection(url, user, password);

简单的 Connection工具类另 取得 Connection的方式,依所使用的环境 及程序需求而有所不同 设计一个 DBSource界面 package onlyfun caterpillar import java. sql Connection; import java. sql. SQLExceptioni public interface DB Source public Connection getConnection() throws SQLException; public void closeConnection(Connection conn) throws SQLException
简单的Connection工具类别 • 取得Connection的方式,依所使用的环境 及程序需求而有所不同 • 设计一个DBSource界面 package onlyfun.caterpillar; import java.sql.Connection; import java.sql.SQLException; public interface DBSource { public Connection getConnection() throws SQLException; public void closeConnection(Connection conn) throws SQLException; }

简单的 Connection工具类别 public class simple DB SourceimplementsDBSource public simpleDB Source(string configFile) throws IOException ClassNotFoundException props new Properties( props. load(new FileInputstream (configfile)) rl props getProperty( onlyfun caterpillarurl )i user props getProperty ( onlyfun caterpillar user passwd props. getProperty("onlyfun caterpillar password")i Class. forName props. getProperty ("onlyfun caterpillar driver ))i public Connection getConnection() throws SQLException return DriverManager getConnection(url, user, passwd)i public void closeConnection(Connection conn) throws SQLException t conn close()i
简单的Connection工具类别 public class SimpleDBSourceimplementsDBSource { … public SimpleDBSource(String configFile) throws IOException, ClassNotFoundException { props = new Properties(); props.load(new FileInputStream(configFile)); url = props.getProperty("onlyfun.caterpillar.url"); user = props.getProperty("onlyfun.caterpillar.user"); passwd = props.getProperty("onlyfun.caterpillar.password"); Class.forName( props.getProperty("onlyfun.caterpillar.driver")); } public Connection getConnection() throws SQLException { return DriverManager.getConnection(url, user, passwd); } public void closeConnection(Connection conn) throws SQLException { conn.close(); } }

简单的 Connection工具类别 onlyfun. caterpillar. driver=com mysql jdbc Driver onlyfun. caterpillar. url=jdbc: mysql: //localhost: 3306/demo onlyfun. caterpillar.user=root onlyfun caterpillar password=123456 DBSource dbsource new simpleDBSource()i Connection conn =dbsource getConnection ()i f(! conn. isClosedo)( System.out. println("数据库连接已开后…"); dbsource. closeConnection(conn)i if(conn is closed()) System.out. println("数据库连接已矢闭…");
简单的Connection工具类别 onlyfun.caterpillar.driver=com.mysql.jdbc.Driver onlyfun.caterpillar.url=jdbc:mysql://localhost:3306/demo onlyfun.caterpillar.user=root onlyfun.caterpillar.password=123456 DBSource dbsource = new SimpleDBSource(); Connection conn = dbsource.getConnection(); if(!conn.isClosed()) { System.out.println("数据库连接已开启…"); } dbsource.closeConnection(conn); if(conn.isClosed()) { System.out.println("数据库连接已关闭…"); }

简单的连接池( Connectionpoo) 数据库连接的取得是一个耗费时间与资源 的动作 建立 Socket connection 交换数据(用户密码验证、相分参数) 数据库初始会话( Session) 日志( Logging) 分配行程( Process)
简单的连接池(Connectionpool) • 数据库连接的取得是一个耗费时间与资源 的动作 – 建立Socket connection – 交换数据(用户密码验证、相关参数) – 数据库初始会话(Session) – 日志(Logging) – 分配行程(Process) – …
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第19章 文本编辑器.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第18章 舍遗补缺.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第17章 Annotation.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第16章 反射.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第15章 线程.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第14章 输入、输出.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第13章 对象容器.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第12章 泛型(Generics).ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第11章 枚举类型.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第10章 例外处理.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第9章 管理类别档案.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第8章 继承、多型.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第7章 封装.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第6章 字串.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第5章 数组.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第4章 从autoboxing、unboxing认识对象.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第3章 语法入门.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第2章 入门准备.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第1章 了解Java.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第1章 oracle数据库概述.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第21章 Java SE6新功能简介.ppt
- 《C语言程序设计》课程教学资源(PPT课件)PPT课件 第五章 数组.ppt
- 南开大学:《上机试习题集—二级C语言程序设计》PDF电子书(编程和改错各100例).pdf
- 《Flash动画设计教程》PPT教学课件(共五章).ppt
- 陕西科学技术出版社:《计算机基础实用教程》PDF电子书(共六章).pdf
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第七章 系统设计.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第一章 绪论(主讲:郑莉).ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十章 C++标准模板库.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十一章 流类库与输入/输出.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十二章 异常处理.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十三章 MFC库与Windows程序开发概述.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第二章 C++简单程序设计.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第三章 函数.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第四章 类与对象.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第五章 C++程序的结构.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第六章 数组指针与字符串.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第七章 继承与派生.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第八章 继承与派生.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第九章 群体类和群体数据的组织.ppt
- 《C语言程序设计》课程教学资源:(英文版)FILES ON DISKS.doc