A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ↙五线谱╲ 中级黑马   /  2013-9-25 23:19  /  1737 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、JDBC概念

JDBC是SUN公司定义的Java操作数据库的规范(一系列接口)。通过JDBC可以操作任何的关系数据库(前提是有具备数据库JDBC驱动程序)
JDBC是SUN公司注册的一个技术商标。
JDBC的全称是Java Database Concetivty,意思是Java数据库连接。

二、JDBC的功能
连接数据库
发送并执行SQL语句
获取处理结果

三、JDBC的原理

JDBC定义了一组操作数据库的接口,不同的数据库厂商提供了JDBC接口的实现,这个实现称为JDBC驱动。这样就可以通过JDBC接口来对不同数据库获得统一的操作。

四、JDBC中关键的几个类

1、java.sql.DriverManager: 管理一组 JDBC 驱动程序的基本服务。
2、java.sql.Connection: 与特定数据库的连接(会话)。
3、java.sql.Statement: 用于执行静态 SQL 语句并返回它所生成结果的对象。
4、java.sql.ResultSet: 表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。

五、JDBC操作数据库的一般步骤

1、注册JDBC数据库驱动程序
2、创建数据库连接Connection
3、通过Statement向数据库发送SQL语句
4、执行SQL语句,获取返回结果。

六、实践

CREATE TABLE teacher (
    id bigint(20) NOT NULL auto_increment COMMENT 'ID(自增型)',
    name varchar(24) default NULL COMMENT '姓名',
    salary int(11) default NULL COMMENT '薪水',
    remark varchar(120) default NULL COMMENT '备注',
    PRIMARY KEY    (id)
);

insert    into teacher(id,name,salary,remark) values   
(1,'秦老师',3000,'讲师级别'),
(2,'王老师',1700,'助教级别'),
(3,'江老师',1050,'书童级别'),
(4,'李老师',1200,'伴读级别');



import java.sql.*;

public class TestJDBC {
        public static String dburl = "jdbc:mysql://localhost:3306/testdb";
        public static String user = "root";
        public static String password = "xiaohui";

        public static void main(String args[]) throws ClassNotFoundException, SQLException {
                String testsql = "select t.id,t.name,t.salary,t.remark from teacher t \n" +
                                "where t.salary>1500";
                //1:注册驱动类
                Class.forName("com.mysql.jdbc.Driver");
                //2:创建数据库连接
                Connection conn = DriverManager.getConnection(dburl, user, password);
                //3:创建执行SQL的对象
                Statement stmt = conn.createStatement();
                //4:执行SQL,并获取返回结果
                ResultSet rs = stmt.executeQuery(testsql);
                //5:处理返回结果,此处打印查询结果
                while (rs.next()) {
                        System.out.print(rs.getLong("id") + "\t");
                        System.out.print(rs.getString("name") + "\t");
                        System.out.print(rs.getInt("salary") + "\t");
                        System.out.print(rs.getString("remark") + "\t");
                        System.out.println();
                }
                //6:关闭数据库连接
                conn.close();
        }
}



运行结果:
1  秦老师  3000  讲师级别   
2  王老师  1700  助教级别   

Process finished with exit code 0



使用这个工具类
import java.sql.*;

public class Test {
        public static void main(String args[]) throws ClassNotFoundException, SQLException {
                String testsql = "select * from teacher";
                Connection conn = DBUtils.createConnection();
                ResultSet rs = DBUtils.executeQuery(conn, testsql);
                //5:处理返回结果,此处打印查询结果
                while (rs.next()) {
                        System.out.print(rs.getString(1) + "\t");
                        System.out.print(rs.getString(2) + "\t");
                        System.out.print(rs.getString(3) + "\t");
                        System.out.print(rs.getString(4) + "\t");
                        System.out.println();
                }
                DBUtils.closeConnection(conn);
        }
}



运行结果:
1  秦老师  3000  讲师级别   
2  王老师  1700  助教级别   
3  江老师  1050  书童级别   
4  李老师  1200  伴读级别   

Process finished with exit code 0


评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

1 个回复

倒序浏览
不错,学习了。
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马