JDBC连接数据库详细指南(包含MySQL、SQL Server、Oracle三种数据库)

JDBC连接数据库详细指南(包含三种数据库)

         在项目的开发过程中,数据库的连接支持是非常重要的,今天我就来描述一下使用JDBC访问各种各样数据库的方法。

1.JDBC简介

         JDBC全称是Java数据库连接(JavaDatabase connectivity),是java程序与数据库系统通信的标准API,它包含一组用Java语言编写的类和接口。

         通过JDBC我们可以方便的向各种数据库发送SQL语句,我们只需要使用JDBC编写一个通用的程序,便可以通过SQL语句调用不同的数据库了。

2. JDBC连接数据库详细步骤如下:

(1)使用Class.forName( )方法加载相应的数据库驱动程序

1.连接mysql数据库

(java连接MySQL数据库驱动可供下载地址:http://pan.baidu.com/s/1bpumAmj

Ø  加载MySQL驱动程序的语句如下:

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

或者:Class.forName("org.gjt.mm.mysql.Driver");

2.连接SQL Server数据库

(java连接SQL Server数据库驱动可供下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=11774

Ø  加载SQL Server驱动程序的语句如下:

         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

3.连接Oracle数据库

(java连接Oracle数据库驱动可供下载地址:http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html

Ø  加载Oracle驱动程序的语句如下:

         Class.forName("oracle.jdbc.driver.OracleDriver");

4.注释

该步骤可以替换为在WEB-INF目录下建立名为services的文件夹,然后把驱动放入其中,这样便省略了使用Class.forName( )方法加载驱动。

(2)定义要连接的数据库的URL

1.连接mysql数据库

Ø  语句如下:

StringURL="jdbc:mysql://host:post/dbName";

         注:host代表主机IP;

                   post代表MySQL的端口号;

                   dbName代表要连接的数据库名称

         例如:StringmysqlURL="jdbc:mysql://localhost:3306/dbtest";

    或者:String mysqlURL="jdbc:mysql://127.0.0.1:3306/dbtest";

2.连接SQL Server数据库

Ø  语句如下:

StringURL="jdbc:sqlserver://host:post; databaseName=dbName";

         注:host代表主机IP;

                   post代表MySQL的端口号;

                   dbName代表要连接的数据库名称

         例如:String mysqlURL="jdbc:sqlserver://localhost:1433;databaseName=dbtest";

    或者:String mysqlURL="jdbc:sqlserver://127.0.0.1:1433;databaseName=dbtest";

3.连接Oracle数据库

Ø  语句如下:

StringURL="jdbc:oracle:thin:@host:post;databaseName=dbName";

         注:host代表主机IP;

                   post代表MySQL的端口号;

                   dbName代表要连接的数据库名称

         例如:String mysqlURL="jdbc:oracle:thin:@localhost:1521:dbtest";

    或者:String mysqlURL="jdbc:oracle:thin:@127.0.0.1:1521:dbtest";

(3)调用DriverManager对象的getConnection( )方法,获得一个Connection对象(它表示打开了一个连接)

Ø  语句如下:

Connection conn=DriverManager.getConnection(URL,"数据库用户名","数据库用户密码");

例如://要连接的数据库的URL

    StringmysqlURL="jdbc:mysql://127.0.0.1:3306/dbtest";//这里用的MySQL,其他数据库参考上面

    StringDBUser="root";//数据库用户名

    StringDBPwd="123456";//数据库用户密码

Connectionconn=DriverManager.getConnection(mysqlURL,DBUser, DBPwd);

(4)创建语句对象

         使用Connection接口可以创建两种语句对象。

1使用createStatement()方法创建Statement语句对象

         该对象用于传递简单的不带参数的SQL语句给数据库管理系统来执行。

语句如下:

         Statement st=conn.createStatement();

2使用prepareStatement(String sql )创建的PreparedStatement语句对象(PreparedStatement是Statement的子接口)

         该对象用于传送带有一个或多个输入参数的SQL语句。

例如:String sql="insert into test(name,password) values(?,?)";

      PreparedStatement pstem=conn.prepareStatement(sql);

      pstem.setString(1, "test");

      pstem.setString(2, "123456");

3使用prepareCall(String sql)创建一个CallableStatement语句对象(CallableStatement是PreparedStatement的子接口)

         该对象用于调用存储过程。

例如:  CallableStatement csm=conn.prepareCall("call validate(?,?)}");

        csm.setString(parameterName, value);

    注:validate是存储过程名

       parameterName参数名

       value参数值

(5)执行语句

1对应Statement语句对象

       Statement接口提供了3个方法执行SQL语句,如下:

n  execute(String sql):执行给定的 SQL 语句,返回boolen型值

n  executeQuery(String sql) :执行给定的 SQL 查询语句,该语句返回单个 ResultSet 对象;

n  executeUpdate(String sql) :执行给定 SQL 语句,该语句可能为 INSERT、 UPDATE 或 DELETE 语句,返回行计数或0 。

例如:String sql="create table `test2`(name varchar(50),passwordvarchar(50));";

      Statement stem=conn.createStatement();

      int result=stem.executeUpdate(sql);

或者:String sql2="select * from test";

      ResultSet rs=stem.executeQuery(sql2);

2对应PreparedStatement语句对象

PreparedStatement接口提供了3个方法执行SQL语句,如下:

n  execute( ):在此 PreparedStatement 对象中执行 SQL 语句,返回boolen型值

n  executeQuery( ) :在此 PreparedStatement 对象中执行 SQL 查询语句,该语句返回单个 ResultSet 对象;

n  executeUpdate( ) :在此 PreparedStatement 对象中执行 SQL 语句,该语句可能为 INSERT、 UPDATE 或 DELETE 语句,返回行计数或0 。

例如:String sql="insert into test(name,password) values(?,?)";

      PreparedStatement pstem=conn.prepareStatement(sql);

pstem.setString(1, "test");

      pstem.setString(2, "123456");

           int result=pstem.executeUpdate( );

或者:ResultSet rs=pstem.executeQuery();

3应CallableStatement语句对象

         该对象的执行方法和PreparedStatement语句对象相同,详情可以参考PreparedStatement接口提供的执行方法。

(6)对返回的结果进行处理

      1返回结果是int型

         在执行语句时,如果使用的方法是executeUpdate方法,便会返回int型结果,我们可以通过该值,知道操作的行数。

2返回的结果是ResultSet 对象

         在执行语句时,如果使用的方法是executeQuery方法,便会返回单个 ResultSet 对象。ResultSet 对象包含了SQL语句的执行结果,我们可以使用它的一组get()方法对结果行中每列的数据进行访问,可以通过它的next()方法移动到ResultSet 的下一行,使其变成当前行。

       例如:显示结果集所有记录的前两列

代码如下:Statement stem=conn.createStatement();

String sql2="select * from test";

            ResultSet rs=stem.executeQuery(sql2);

            ResultSetrs=pstem.executeQuery();

            while(rs.next()){

                Stringname=rs.getString("name");

                Stringpassword=rs.getString("password");

                System.out.println("用户名:"+name+",密码:"+password);

            }

(7)关闭连接。

         操作完后,要记得关闭所有的JDBC对象,以释放资源。

         包括:关闭结果集、关闭语句对象、关闭连接对象。

如:rs.close(); //关闭结果集

    stem.close();  //关闭Statement语句对象

    conn.close();  //关闭连接对象


  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDBC(Java Database Connectivity)是Java语言中连接数据库的一种标准API,它提供了一套标准的接口,使Java程序能够与各种不同类型的关系型数据库进行交互。 连接MySQL数据库的关键代码如下: ``` Class.forName("com.mysql.jdbc.Driver"); // 加载MySQL JDBC驱动程序 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password"); // 建立数据库连接 ``` 其中,`com.mysql.jdbc.Driver`是MySQL JDBC驱动程序的类名,`localhost:3306/mydatabase`表示要连接MySQL数据库的地址和数据库名称,`root`和`password`分别是连接MySQL数据库所需要的用户名和密码。 连接SQL Server数据库的关键代码如下: ``` Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 加载SQL Server JDBC驱动程序 Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=mydatabase", "sa", "password"); // 建立数据库连接 ``` 其中,`com.microsoft.sqlserver.jdbc.SQLServerDriver`是SQL Server JDBC驱动程序的类名,`localhost:1433`表示要连接SQL Server数据库的地址和端口号,`mydatabase`是要连接数据库名称,`sa`和`password`分别是连接SQL Server数据库所需要的用户名和密码。 连接Oracle数据库的关键代码如下: ``` Class.forName("oracle.jdbc.driver.OracleDriver"); // 加载Oracle JDBC驱动程序 Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:mydatabase", "username", "password"); // 建立数据库连接 ``` 其中,`oracle.jdbc.driver.OracleDriver`是Oracle JDBC驱动程序的类名,`localhost:1521/mydatabase`表示要连接Oracle数据库的地址、端口号和数据库名称,`username`和`password`分别是连接Oracle数据库所需要的用户名和密码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值