对JDBC的一些理解

JDBC是一种执行SQL语句的java api,是java访问数据库的桥梁,它可以为多种关系型数据库提供统一的访问接口。

实现JDBC(此为连接oracle)的六个步骤: 
  1.注册Driver接口(加载一个具体的Driver实现类): 
    class.forName("oracle.jdbc.OracleDriver");

2. 获取数据库连接接口 
    String url = "jdbcracle:[email protected]:1521:Xe"; 
   String user = "username"; 
   String password = "password"; 
    Connection conn = DriverManager.getConnection(url,user,pass);

3.创建Statement接口--可以理解为传送数据和命令的工具 
    Statement stm = conn.createStatement();

4.执行sql命令

5.处理结果集ResultSet 
    ResultSet rs = stm.executeQuery(sql); 
  6.释放资源,关闭接口 
     此处关闭接口的顺序为逆向关闭,即按rs,stm,conn的顺序关闭接口

在实际开发中,一般用Statement接口的子接口,即PreparedStatement接口处理sql语句。这样做的原因,一方面,在执行相似增、删、改语句时,PreparedStatement将给定的半成品sql语句发送到db sv进行预编译,之后execute方法将语句直接发送过去执行,效率大大高于Statement;第二,在安全方面上,PreparedStatement接口比前者具有更高的安全性,一个占位符只存一个字段,而Statement中的sql语句有很大的安全漏洞.

在三层开发模型中,一般使用ThreadLocal技术来封装一个JdbcUtil类来获得接口和关闭接口,在Dao层获得接口,执行增删改查语句,在service层进行业务逻辑处理,手动控制事务的提交最后关闭接口。

个人认为学好Jdbc是以后学习Hibernate的基础,也是熟练驾驭Hibernate框架的前提之一,写写自己的心得,有什么不足的还请指正。

时间: 2024-07-30 10:15:50

对JDBC的一些理解的相关文章

【JDBC】深入理解Statement和PreparedStatement

一.使用Statement而不是PreparedStatement对象 JDBC驱动的最佳化是基于使用的是什么功能. 选择PreparedStatement还是Statement取决于你要怎么使用它们. 对于只执行一次的SQL语句选择Statement是最好的. 相反, 如果SQL语句被多次执行选用PreparedStatement是最好的.PreparedStatement的第一次执行消耗是很高的. 它的性能体现在后面的重复执行. 例如, 假设我使用Employee ID, 使用prepare

通过JDBC,全面理解反射的作用,接口的作用

public void testDriverManager() throws Exception{ //1. 准备连接数据库的 4 个字符串. //驱动的全类名. String driverClass = "com.mysql.jdbc.Driver"; //JDBC URL String jdbcUrl = "jdbc:mysql:///test"; //user String user = "root"; //password String

Spring DAO vs Spring ORM vs Spring JDBC

Pat 的疑惑 最近关注于 Spring 提供的数据访问技术,对于 Spring 相关的这几个项目有何不同我不是太明白: Spring-DAO (http://docs.spring.io/spring/docs/2.0.8/reference/dao.html) Spring-ORM (http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/orm.html) Spring-JDBC (http://doc

jmeter(五)之JDBC Request

长假刚结束,假期综合征明显,项目进展遇到问题,没头绪ing... 正好目前项目瓶颈在后台处理速率上,就说说最近工作中,我对取样器——JDBC Request的理解... 之前介绍过,jmeter中取样器(Sampler)是与服务器进行交互的单元.一个取样器通常进行三部分的工作:向服务器发送请求,记录服务器的响应数据和记录相应时间信息 有时候工作中我们需要对数据库发起请求或者对数据库施加压力,那么这时候就需要用到JDBC Request JDBC Request可以向数据库发送一个请求(sql语句

Jmeter使用入门

Jmeter简介 开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件 支持接口测试,压力测试等多种功能,支持录制回放,入门简单 相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试 多平台支持,可在Linux,Windows,Mac上运行 我们为什么使用Jmeter Jmeter的基本概念 百度百科: Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用

java入门学习之路

java是面向对象的编程,个人觉得记忆比较重要. 第一阶段 java基础部分 unix开发环境 熟练掌握开发中常用的操作系统linux的安装及使用:掌握文件系统.网络.用户管理方法:能熟练使用vi和vim进行文件编辑:能在unix环境下进行文件查找.权限控制.能熟练配置用户使用环境及开发生产环境. (1)java基础编程 了解java的运行环境,java的加载机制及内存分配使用原理:掌握类和对象的关系.对象和引用的关系:理解数组的本质,掌握数组的使用. (2)java高级编程 深入了解java的

跟开涛老师学shiro -- 身份验证

身份验证,即在应用中谁能证明他就是他本人.一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明. 在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份: principals:身份,即主体的标识属性,可以是任何东西,如用户名.邮箱等,唯一即可.一个主体可以有多个principals,但只有一个Primary principals,一般是用户名/密码/手机号. credentials:证明

mybatis源码分析(四) mybatis与spring事务管理分析

mybatis源码分析(四) mybatis与spring事务管理分析 一丶从jdbc的角度理解什么是事务 从mysql获取一个连接之后, 默认是自动提交, 即执行完sql之后, 就会提交事务. 这种事务的范围是一条sql语句. 将该连接设置非自动提交, 可以执行多条sql语句, 然后由程序决定是提交事务, 还是回滚事务. 这也是我们常说的事务. Connection connection = dataSource.getConnection(); // connection.setTransa

用于与数据库连接的JDBC和驱动程序的理解

理解: java应用程序与数据库建立连接时,先通过jdbc(jdbc是属于jdk带有的)与数据库厂商提供的驱动程序通信,而驱动程序再与数据库通信. 数据库厂商提供的驱动程序: 数据库的种类有多种,比如mysql.oracle等,不同的数据库有不同的驱动程序.所以在进行其他操作前,首先要下载导入对应的驱动程序jar包. 连接测试步骤: 先声明所用到的数据库的url.用户名和密码(数据库的) private static String url="jdbc:mysql://localhost:3306