JDBC链接数据库

JDBC

JDBC的全称是Java Database Connectivity(Java 数据库链接),它是一种可以执行SQL语句的Java API。程序可以通过JDBC 链接到关系数据库,并执行SQL 语句。这些API只是标准接口,没有实现类,需要各种数据库的厂商提供实现(即数据库驱动程序),当链接不同的数据库时,我们需要下载对应的数据库驱动程序。

JDBC编程步骤

1.加载数据库驱动,通常使用Class类的forName()静态方法。不同的数据库有不同的名字,常见的如下:

//加载MySQL驱动
Class.forName("com.mysql.jdbc.Driver");
//加载SQL Server驱动
 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
 //加载Oracle驱动
Class.forName("oracle.jdbc.driver.OracleDriver");

2.通过DriverManger获取数据库连接。使用DriverManger类的静态方法getConnection(String url,String user,String pass)获取连接对象Connection。其中url是连接的数据库地址和数据库名,user和pass是数据库登录的用户名和密码。因此,连接数据库之前我们要将数据库设置为SQL Server和Windows混合登录模式。

//MySql的URL
jdbc:mysql://hostname:port/databasename
//Oracle的URL
jdbc:oracle:thin:@hostname:port:databasename
//Sql server的URL
jdbc:sqlserver://hostname:port;DatabaseName=databasename

3.通过连接对象Connection创建Statement对象。利用连接对象的createStatement方法创建基本的Statement对象。

4.使用Statement对象执行SQL命令。其中执行sql语句有3种方法:

//利用execute方法执行传入的任何sql语句,结果在用getResultSet()接收
statement.execute(sql);
set= statement.getResultSet();

//利用executeQuery方法执行sql查询语句,返回ResultSet对象
set= statement.executeQuery(sql);

//利用executeUpdate方法执行sql删除,修改和更新语句,返回受影响的行数
statement.executeUpdate(sql);

5.使用ResultSet对象接收查询结果。通过next()(还有下一项返回true)判断结果集中是否还有数据来遍历结果集,通过getXXX方法来通过传入索引或列名来取得表中的类容。

String name;
int num;
while(set.next()){
   name=set.getString("姓名");
   num=set.getInt(1);  //表中第1列是学号,列从1编号
}

6.关闭连接,回收相关资源。数据库链接非常消耗资源,用完后要调用对象的close方法,释放资源。

JDBC连接SQL server 2008

1.在项目中导入对应的数据库驱动

  • 选中项目,点击Project->Properties

    这里写图片描述

  • 点击Java Bulid Path -> Libraries -> Add External JARS导入相应的包
    这里写图片描述

2.编写代码,下面是我的链接代码

package com.ysg;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class SqlConnection {

    public static void main(String[] args) {

        Connection connection=null;
        Statement statement=null;
        ResultSet set=null;
        final String url = "jdbc:sqlserver://localhost:1433;DatabaseName=学生管理;";
        String sql="select * from 学生表";
        try {
            //加载驱动
             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
             //获取链接
             connection=DriverManager.getConnection(url,"sa","xxx5201314");
             //创建statement对象
             statement=connection.createStatement();

             //执行查询操作后将结果保存在setset= statement.executeQuery(sql);

             //访问结果集中的数据  
             while (set.next()) {
                String number=set.getString("学号").trim();
                String name=set.getString("姓名").trim();
                System.out.println(number+":"+name);
            }

             //关闭资源
             set.close();
             statement.close();
             connection.close();

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.out.println("驱动未加载");
        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("数据库连接失败");
        }
    }
}

3.最后附上驱动链接,哈哈哈
http://download.csdn.net/download/ysg___/10104008

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值