JDBC基本使用
一、了解JDBC
(1) JDBC是以统一方式访问数据库的API
(2) JDBC提供:
独立于平台的数据库访问
位置透明
对专有数据库的问题时透明的
二、了解JDBC驱动程序
(1) JDBC Drivers是实现数据库操作的类
(2) Drivers分成两类:
2-层——客户直接和数据库会话
3-层——客户与代表数据库的中间层(WebLogic Server)会话
其实也就是:两层架构直接与数据库进行处理
三层架构加载数据库的中间层
这些跟.net几乎没什么差别。我们继续来看一个图:

我们看这个图有什么想发?
第4种:居于Java特色的。不需要安装软件和客户端;跟位置与平台是没有关系的。,
第1、2、4:都是两层的类型,直接连接到数据库的
第3种:基于NetworkServer集中式的监控,屏蔽丢不同的平台。在1、2、4的基础上,通过webserver来连接的一种资源。是一种特殊的jdbC的类型
三、使用JDBC直接访问数据库
(1) 直接访问数据库由下列组成:
加载JDBC驱动器类
我们看一下直接连接数据库的示例:
(2) 使用基本的JDBC命令
- import java.sql.*;
- try{
- class.forName("com.pointbase.jdbc.jdbcUniversalDriver");
- Connection con=DriverManager.getConnect("jdbc:pointbase;//server:port/MyDatabase");
- Statement stmt=con.createStatement();
- String sql="select * from mytable";
- ResultSet res=stmt.executeQuery(sql);
- while(res.next()){
- String col1=res.getString("MYCOLUMN1");
- int col2=res.getInt("MYCOLUMN2");
- }catch(Exception e){...}
- }
四、使用多层(Type3)Drivers
要使用多层体系结构,必须至少配置一个连接池(Connection Pool和一个数据源(DataSource)

五、连接池Connection
连接池:
消除频繁建立连接所需的负载
是用于管理数据库连接的管理对象
提供可共享,安全的连接

六、数据源Data Sources
Data Sources是:
从连接池中提供连接的被管理的工厂对象
绑定到JNDI并使用管理控制台配置

七、我们通过数据源Data Sources访问数据库
(1) 使用DataSource:
先在JNDI中查找到它
然后从DataSource获得一个连接
使用数据源连接数据库的示例:
- import java.sql.*;import javax.sql.*;import javax.naming.*;...
- try{
- context ctx=new InitialContext();
- DataSource ds=(DataSource)ctx.lookup("TestDataSource");
- Connection con=ds.getConnection();
- Statement stmt=con.createStatement();
- String sql="SELECT * FROM MYTABLE";
- ResultSet res=stmt.executeQuery(sql);
- While(res.next()){
- String col1=res.getString("MYCOLUM1");
- ...
- }
- con.close();
- }catch(Exception e){...}
八、Statements和Prepared Statements
(1) Statement对象含有与数据库交互的SQL查询或更新语句
使用Statement对象查询数据库的示例:
- Statement stmt=con.createStatement();
- String sql="SELECT * FROM MYTABLE";
- ResultSet res=stmt.excuteQuery(sql);
使用PreparedStatement对象查询数据库的示例:
- String sql="SELECT * FROM MYTABLE WHERE COL1=? AND COL2=?";
- PreparedStatement pStatement=con.prepareStatement(sql);
- pStatement.setString(1,searchVariableString);
- pStatement.setInt(2,searchVariableInt);
- ResultSet rs=pStatement.executeQuery();
这只是初步了解,还需要应用到项目当中去呀。
JDBC基本使用的更多相关文章
- Java数据库连接技术——JDBC
大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...
- 玩转spring boot——结合AngularJs和JDBC
参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” ; -- ----- ...
- [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率
使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...
- JDBC MySQL 多表关联查询查询
public static void main(String[] args) throws Exception{ Class.forName("com.mysql.jdbc.Driver&q ...
- JDBC增加删除修改
一.配置程序--让我们程序能找到数据库的驱动jar包 1.把.jar文件复制到项目中去,整合的时候方便. 2.在eclipse项目右击"构建路径"--"配置构建路径&qu ...
- JDBC简介
jdbc连接数据库的四个对象 DriverManager 驱动类 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 ...
- JDBC Tutorials: Commit or Rollback transaction in finally block
http://skeletoncoder.blogspot.com/2006/10/jdbc-tutorials-commit-or-rollback.html JDBC Tutorials: Com ...
- FineReport如何用JDBC连接阿里云ADS数据库
在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了.此时,该如何连接ADS数据库呢? 我们只需要手动将连接ads数据库需要使用到的jar放置到%F ...
- JDBC基础
今天看了看JDBC(Java DataBase Connectivity)总结一下 关于JDBC 加载JDBC驱动 建立数据库连接 创建一个Statement或者PreparedStatement 获 ...
- Spring学习记录(十四)---JDBC基本操作
先看一些定义: 在Spring JDBC模块中,所有的类可以被分到四个单独的包:1.core即核心包,它包含了JDBC的核心功能.此包内有很多重要的类,包括:JdbcTemplate类.SimpleJ ...
随机推荐
- 学习TensorFlow,多层卷积神经网络
一.网络结构 二.代码 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_ ...
- 【嵌入式开发】嵌入式 开发环境 (远程登录 | 文件共享 | NFS TFTP 服务器 | 串口连接 | Win8.1 + RedHat Enterprise 6.3 + Vmware11)
作者 : 万境绝尘 博客地址 : http://blog.csdn.net/shulianghan/article/details/42254237 一. 相关工具下载 嵌入式开发工具包 : -- 下 ...
- [Error]Can't install RMagick 2.13.4. You must have ImageMagick 6.4.9 or later.
gem 安装ruby插件的时候 出现了一个错误 Installing rmagick 2.13.4 with native extensions Gem::Installer::ExtensionBu ...
- 最简单的基于FFMPEG+SDL的音频播放器 ver2 (采用SDL2.0)
===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...
- 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件
博客地址 : http://blog.csdn.net/shulianghan/article/details/41520569 代码下载 : -- GitHub : https://github.c ...
- JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制
JAVA之旅(十四)--静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制 JAVA之旅,一路有你,加油! 一.静态同步函数的锁是clas ...
- 我眼中的Linux设备树(四 中断)
四 中断中断一般包括中断产生设备和中断处理设备.中断控制器负责处理中断,每一个中断都有对应的中断号及触发条件.中断产生设备可能有多个中断源,有时多个中断源对应中断控制器中的一个中断,这种情况中断产生设 ...
- 如何利用BI搭建电商数据分析平台
某电商是某大型服装集团下的重要销售平台.2015 年,该集团品牌价值达数百亿元,产品质量.市场占有率.出口创汇.销售收入连年居全国绒纺行业第一,在中国有终端店3000多家,零售额80 亿.其羊绒制品年 ...
- Android平台 Psensor传感器调试方法
一. 驱动层调试1.在板级dts文件中增加相应的dts代码,如:调试sensor类,在代码中找到已经有的代码在修改,I2C使用那根(一般为I2C3),I2C地址(找datasheet或者FAE),哪个 ...
- Cannot start service MSSQL$MICROSOFT##WID on computer
在做ADFS部署过程中配置ADFS服务时遇到如下问题 检查系统日志错误日志如下,很明显"NT SERVICE\MSSQL$MICROSOFT##WID"这个账户不在log on a ...