`
勤业思行
  • 浏览: 82124 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

通用JDBC编程

    博客分类:
  • j2se
阅读更多

JDBCJava数据库连接。

一、JDBC驱动程序

1、相应的数据库都有自己的JDBC驱动程序,很多都可以在相应网站上可以下载相应的jar包。在Web项目中安装JDBC驱动程序非常简单,只需要将相应的数据库驱动程序的Jar包拷贝到Web项目的WEB-INF目录下的lib目录下就可以了。安装完成后,就可以在该项目中使用JDBC驱动程序中的相应类和方法来进行数据库连接和CRUD操作。

2、加载JDBC驱动:

 JDBC与数据库建立连接之前必须加载适当的驱动程序。一般使用ClassforName()方法来加载驱动程序。其中Mysql的驱动程序类为com.mysql.jdbc包下的Driver.class.所以,可以使用

Class.forName("com.mysql.jdbc.Driver");

来加载Mysql的驱动程序。或者使用

 String Driver=null;

if(Driver!=null){

System.setProperty("com.mysql.jdbc.Drivers", Driver);

}

其他数据库同理。

二、JDBC连接数据库:JDBC连接数据库只需使用DriverManager类的getConnection()方法来创建一个Connection对象即可。但需给定连接的URL。其中连接的URl的语法格式为:

   主要通讯协议:次要通讯协议://数据来源

 其中,Mysql数据库的URL格式为:  

jdbc.mysql://localhost[:端口号(默认3306)]/数据库名称[?参数1=参数值1&参数2=参数值2]

 为了程序的通用性和灵活性,很多时候用一个资源文件来保存这些参数。

例:用OracleDB.properties来保存相关信息。

db.driver=oracle.jdbc.driver.OracleDriver

db.protocol=jdbc:oracle:thin:@localhost:1521:

db.database=Demo

db.username=scott

db.password=tigger

 此时,我们现在程序要连接的是MSSQL,只需保存相应的参数信息到MSSQLDB.properties

db.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver db.protocol=jdbc:microsoft:sqlserver://127.0.0.1:1433

db.database=db_Job

db.username=sa db.password=

只需在数据库连接类中修改FileInputStream构造函数的参数为相应的资源文件。

FileInputStream in=new FileInputStream("MSSQLDB.properties");

 即可。

三、JDBCCRUD操作:

 数据库连接完成后,就可以对数据库进行CRUD操作了。这里要用到驱动程序包中的类:语句对象Statement。可以通过调用Connection对象的createStatement()方法来获创建并获取Statement对象,然后用Statement对象调用相应方法来执行SQL语句。

1、如果是增加记录、更新记录、删除记录,就调用Statement对象的executeUpdate(String sql)来执行sql.

2、如果是执行查询。则需要调用Statement对象的executeQuery(String sql)来执行查询。并将查询结果返回给一个ResultSet对象。ResultSet对象包含了所有查询得到了记录。可以通过ResultSet对象的next()方法来获取一条记录,同时光标将指向下一条记录。对于一条记录中的字段可以调用ResultSet对象的getXXX(int index)方法获取。XXX为相应字段的数据类型。比如字段id类型为int类型,是第一个查询字段,nameString类型,为第二个查询字段。就可以使用下面的语句来获取  

int id=resultsetObj.getInt(1); String name=resultsetObj.getString(2);

  同理、多条记录可以用循环来完成:

 

ResultSet rs=stat.executeQuery(selcetsql);

if(rs.next())

{

System.out.println(rs.getString(1));

}

 

四、JDBC的资源关闭:

不管是数据库连接对象,流对象,Statement对象和ResultSet对象。都会占用系统资源。我们在访问后,不需要相应的对象时就应该将相应对象进行关闭,释放资源。这里都可以调用close()方法即可。例:statObj.close();rs.close();conn.close();

五、JDBC的预处理语句对象PreparedStatement:对于SQL语句中需要带参数的,我们需要使用JDBC给我们的预处理语句对象PreparedStatement对象来操作SQL中的参数。PreparedStatement接口继承了Statement接口,所以他能够实现Statement的所有功能,但比Statemen更加灵活。PreparedStatement中的SQl语句可以接受一个或多个参数,这些参数值都用"?"来再SQL中代替,在执行SQL钱,必须通过PreparedStatement对象的setXXX()方法来为参数赋值。这里setXXX()方法中的XXX表示类型,方法有两个参数,第一个是int类型,表示SQL中的第几个"?",第二个是对应XXX类型的常量值。

例:String sql="insert into user(userid,username,password) values(null,?,?)";

这里的后面两个值需要在执行SQL之前用PreparedStatement对象的方法来赋值。所以有:

PreparedStatement pstmt=conn.preparedStatement(sql);

//设置参数值

pstmt.setString(1,"WANG");

pstmt.setString(2,"passwd");

//执行SQL

pstmt.executeUpdate();

是查询则是

pstmt.executeQuery();

 

 

注:sql:select * from user  limit 1,3;表示起始位置为第二条记录,一共查询三条记录。

  这样,我们写的数据库连接类就具有通用性。

0
3
分享到:
评论

相关推荐

    使用JDBC的高级数据库操作

    通用数据库 7.2 编写的,但因为使用了 DataSource 对象, 修改这些代码以适用于其它数据库是不成问题的。 本教程假定您已经熟悉 Java 编程语言,而且在一定程度上 熟悉 JDBC。为了充分利用本教程中包含的一些...

    JDBC API教程与参考手册part3

    本书提供了JDBCTMAPI的权威教程与参考·~JDBCAPI技术支持使用JavaTM编程语言进行通用数据访问,该版本进行了更新和扩展,覆盖整个JDBC 3.0API的内容,包括。iava.sql包和易于构建服务器端应用程序的javax.sql包。 ...

    JDBC API教程与参考手册part4

    本书提供了JDBCTMAPI的权威教程与参考·~JDBCAPI技术支持使用JavaTM编程语言进行通用数据访问,该版本进行了更新和扩展,覆盖整个JDBC 3.0API的内容,包括。iava.sql包和易于构建服务器端应用程序的javax.sql包。 ...

    JDBC API教程与参考手册part2

    本书提供了JDBCTMAPI的权威教程与参考·~JDBCAPI技术支持使用JavaTM编程语言进行通用数据访问,该版本进行了更新和扩展,覆盖整个JDBC 3.0API的内容,包括。iava.sql包和易于构建服务器端应用程序的javax.sql包。 ...

    梦数据库的JDBC驱动程序

    DM JDBC 数据库驱动程序是一个能够支持基本 SQL 功能的通用应用程序编程接口,支持一般的 SQL 数据库访问。通过 JDBC 驱动程序,用户可以在应用程序中实现对 DM 数据库的连接与访问,JDBC 驱动程序的主要功能包括: ...

    Java学习笔记一MySQL数据库与JDBC编程

    ODBC也允许应用程序通过一组通用的API访问不同的数据库管理系统,从而使得基于ODBC的应用程序可以在不同的数据库之间切换。同样,ODBC也需要各数据库厂商提供相应的驱动程序,而ODBC则负责管理这些驱动程序。 JDBC...

    使用JDBC构建基于Web的应用程序

    通用数据库 7.2(DB2 Universal Database 7.2) (有关 DB2 的更多详细信息, 请参阅 JSP 页面和 servlet 参考资料), 但是,由于使用了 DataSource 对象, 因此只需对代码做一些细微修改就可使其应用到其它...

    什么是JDBC

    JDBC(Java DataBase Connectivity)是Java与数据库的接口规范 JDBC定义了一个支持标准SQL功能的通用低层的应用程序编程接口(API) 定义了若干Java中的类,表示数据库连接、SQL指令、结果集、数据库元数据等

    实验7数据库接口实验.pdf

    1. 了解通用数据库应用编程接口(例如JDBC、ODBC等)的配置方法。 2. 利用C语言(或其它支持某种数据库应用程序接口的高级程序设计语言)编程实现简单的数据库应用程序,掌握基于ODBC、JDBC接口的数据库访问的基本...

    JDBC API教程与参考手册part1

    本书提供了JDBCTMAPI的权威教程与参考·~JDBCAPI技术支持使用JavaTM编程语言进行通用数据访问,该版本进行了更新和扩展,覆盖整个JDBC 3.0API的内容,包括。iava.sql包和易于构建服务器端应用程序的javax.sql包。

    尚硅谷jdbc源码整理

    除了常规的 JDBC 技术外,本Java视频教程更涵盖 <利用反射及 JDBC 元数据编写通用的查询方法>、<使用 DBUtils 工具类>、设计模式>、<编写通用的 DAO 接口实现类> 等企业级开发内容。  源码级讲授 DBUtils 工具类的...

    Java数据库编程宝典3

    2.2.1 通用完整性规则 2.2.2 特定于数据库的完整性规则 2.3 小结 第3章 SQL基础 3.1 SQL语言 3.2 SQL数据类型 3.3 数据定义语言 3.3.1 创建、取消、更改数据库和表 3.3.2 创建、更改和取消视图 3.4 数据...

    全面了解JDO数据库编程 多文档打包

    JDO(Java Data Object )是Java对象持久化的新的规范,也...JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。

    java全响应式编程的企业级后台管理系统基础项目

    全响应式编程的企业级后台管理系统基础项目 基于r2dbc ,easy-orm 的通用响应式CRUD H2,Mysql,SqlServer,PostgreSQL 响应式r2dbc事务控制 响应式权限控制,以及权限信息获取 RBAC权限控制 数据权限控制 双因子...

    Java数据库编程宝典2

    2.2.1 通用完整性规则 2.2.2 特定于数据库的完整性规则 2.3 小结 第3章 SQL基础 3.1 SQL语言 3.2 SQL数据类型 3.3 数据定义语言 3.3.1 创建、取消、更改数据库和表 3.3.2 创建、更改和取消视图 3.4 数据...

    Java数据库编程宝典4

    2.2.1 通用完整性规则 2.2.2 特定于数据库的完整性规则 2.3 小结 第3章 SQL基础 3.1 SQL语言 3.2 SQL数据类型 3.3 数据定义语言 3.3.1 创建、取消、更改数据库和表 3.3.2 创建、更改和取消视图 3.4 数据...

    Java数据库编程宝典1

    2.2.1 通用完整性规则 2.2.2 特定于数据库的完整性规则 2.3 小结 第3章 SQL基础 3.1 SQL语言 3.2 SQL数据类型 3.3 数据定义语言 3.3.1 创建、取消、更改数据库和表 3.3.2 创建、更改和取消视图 3.4 数据...

    HashMap关系数据映射技术软件

    PVO软件包可用于简化JDBC数据库编程,同传统的数据库编程技术相比,可以将数据库编程效率提高数倍、甚至数十倍。新修订的PVO_v1.1,其通用性、健壮性及执行效率均有明显改进。现将PVO_v1.1软件包及其源代码对外公布,...

    达内Java培训项目(当当网/通用电子商务系统)

    采用MVC设计模式,视图层采用JSP,控制层使用Struts2,模型层使用JDBC。 注册模块使用了Jquery、Ajax、Json技术,实时验证用户信息,并加入了验证码,保证了良好的用户体验与系统的稳定性。 使用Session控制用户登录...

Global site tag (gtag.js) - Google Analytics