JDBC的基础应用

JDBC的基础应用

一、JDBC的介绍

JDBC是Java语言访问数据库的技术,称为Java DataBase Connectivity。JDBC使用面向对象技术风筝了对数据库的访问,易用易学,而且可以使访问数据库的代码不依赖数据库提供商。

二、JDBC的使用步骤

(1)注入驱动类

(2)获取连接对象

(3)获取语句对象

(4)执行语句对象

(5)关闭连接

三、JDBC的简单案例

首先我们需要一个数据库表(注:本文使用SQL SERVER 数据库):

java持久化类如下:

复制代码
package com.dao;

import java.sql.*;

public class BaseDao {

    private final String className="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    private final String url="jdbc:sqlserver://localhost:1433;DatabaseName=demo";
    private final String user="sa";
    private final String password="123";

    Connection conn = null;
    PreparedStatement pstmt = null;

    //获取连接对象
    private void getConnection(){
        try {
            Class.forName(className);//注入驱动类
            conn=DriverManager.getConnection(url, user, password);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //执行有关于更新的SQL语句
    public int updateSQL(String sql) {
        int result = 0;
        try {
            getConnection();
            pstmt = conn.prepareStatement(sql);//获取语句对象
            result = pstmt.executeUpdate();//执行更新语句
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

    //执行有关于查询的SQL语句,并且返回结果集
    public ResultSet selectSQL(String sql){
        try {
            getConnection();
            pstmt = conn.prepareStatement(sql);
            return pstmt.executeQuery();//执行查询语句
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    //关闭连接
    public void closeAll() {
        try {
            if (conn != null)
                conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
复制代码

 
java测试类如下:

 

复制代码
package com.test;

import java.sql.*;

import com.dao.BaseDao;

public class BaseDaoTest {

    public static void main(String[] args) {
        String updateSQL="insert into Student(studentName,studentAge) values('小明',18)";
        String selectSQL="select * from Student";
        BaseDao baseDao=new BaseDao();
        baseDao.updateSQL(updateSQL);
        ResultSet rs=baseDao.selectSQL(selectSQL);
        try {
            while(rs.next()){
                int studentID=rs.getInt("studentID");
                String studentName=rs.getString("studentName");
                int stdudentAge=rs.getInt("studentAge");
                System.out.println("学号为:"+studentID+"的"+studentName+"今年"+stdudentAge+"岁。");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        baseDao.closeAll();
    }
}
复制代码

输出结果为:

标签