JDBC基础

数据库的连接

前言:

  在 Java 开发时,数据库知识技术的掌握非常重要,而 JDBC 是数据库开发的基础,Java 开发工程师通过 JDBC 来实现数据库与 Java 之间的连接。实现数据库的访问,及基本的数据库操作,像增删改查什么的。

  总的来说数据库开发使用 JDBC 流程如下:

(1)加载驱动程序

(2)创建数据库连接对象

(3)执行 SQL 语句

(4)获取返回的执行结果

(5)清理资源关闭相关连接对象


《1》加载驱动

  JDBC 中的 Driver 类DriverManager 类。其中 Driver 类是一个接口,定义了各个驱动的程序实现的方法。后者是 Driver 的管理类,实现接口中的方法。实现加载驱动。加载驱动用到的方法:Class.forName(driver_name);该方法实现注册驱动程序,这是数据库开发的前提加载驱动。

  例如下面实例的 mysql 驱动的加载:

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


《2》创建连接对象

  这一步是在加载驱动后,创建相关对象才能与数据库进行交互。通过 DriverManager 类的 getConnection(); 方法调用驱动程序,即上一步加载的驱动程序。以下均已 Mysql 为例。该方法,返回的是 JDBC Connection 对象。基于此对象可以执行 sql 语句,基于此对象的 createStatement() 的方法创建 Statement 对象,来具体执行  sql 语句实现,对数据库的开发操作。

Connection conn = DriverManager.getConnection("jdbc:mysql://","自己设置的用户名","自己设置的密码");

//三个参数,数据库路径 URL ;数据库用户名 root;数据库用户密码 password;


《3》执行 sql 语句

  需要数据库的连接对象  Connection  来创建 Statement  对象,Statement 对象就是用来保存承载要执行的 sql 语句;就是将 sql 先保存下来,然后在通过 executeQuery() 及 execute() 方法执行 sql 语句,即Statement 对象所要执行的 sql 语句。前者能返回查询结果,用 ResultSet 对象接收;后者是执行 插入更新删除等类型的 sql 语句,返回数据库中执行语句后受影响的记录数,是 Int 型。写法如下:

 Statement st = conn.createStatement();
  String sql = "select * from table1";
  ResultSet rs = st.executeQuery(sql);

《4》获取执行结果

  对于执行查询语句的结果是,返回结果在ResultSet 对象中,是个数据集合需要循环取出;

  注意:该对象具有指向当前数据行的指针, nex() 子身后一,读取下一行数据。若其他数据,返回 int 型结果,接收该结果判断,该结果大小大于 0 即是 sql 语句执行成功。

while(rs.next()){
    int id = rs.getInt("id");
    String name = rs.getString("name");
}


《5》清理资源

  关闭打开的相关流。主要是不关闭会占一定的内存空间,在一些情况下也会报异常。判断一下是否为空,不为空关闭。

finally{

    try{
        if (rs != null)   rs.close(); 
        if(stmt != null)  stmt.close();  
        if(conn != null)  conn.close();
         
    }   catch(SQLException){      //ignore
   }
}


下面是具体的例子,成功连接数据库并演示查询语句的执行,及结果接收。



一、jdbc  数据库的连接系统

     JDBC 是什么:

              网上有很详细的解释,这里简单介绍。

              全称:Java Data Base Connectivity,java 数据库连接

     JDBC 能做什么:

              1.用  java  连接数据库

              2.执行  sql  语句

              3.接收处理 sql 语句的执行结果


二、所用平台

     Mysql 、Myeclipse(也可用其他,以下在平台新建的包名,类名,数据库,表名的命名自定义


三、大体思路

测试demo 结构:

    

1.在 Mysql 下新建数据库 mysql2 ,然后在该库内新建表 teacher 初始化几组数据,以供测试连接

2.在 Myeclipse 下新建 web project 工程 TestJDBC ,在对应路径下导入用于连接的包

  (网上都有,我所用包如下:附路径)

     /TestJDBC/WebRoot/WEB-INF/lib/mysql-connector-java-5.0.8-bin.jar 

    (1.)在 src 下新建包 util ( 用于写数据库连接的类 ) test( 写测试连接的类 )

    (2.)然后在对应包下新建类 DBO (连接数据库),Test_DBO(测试连接是否成功),Test_Select(测试 sql 语句的执行,与结果的处理)


四、实施操作

 1  Mysql 环境下的操作:建数据库,建表,插入数据

     create database mysql2;
     use mysql2;
    create table teacher(
    id int(11),
    name varchar(20),
    password varchar(20)
    );


   插入语句 insert into table_name(字段1,字段2)  values(属性值1, 属性值2);

   insert  into  teacher(id, name, password)  values(1, 'zhangsan',  '123456');

   类似的多插入几条即可

2 (1.)新建 web project 工程TestJDBC ,导入包后,对应 src 下新建连接、测试包,对应包下写测试类等。

   代码如下:DBO.java

   


    JDBC基础_第1张图片

     (2.)Test_DBO.java  测试连接是否成功,运行后结果显示在  Console  控制台

      代码如下:

    JDBC基础_第2张图片

    (3.)测试  JDBC  的语句发送执行能力,结果处理功能等。编译运行后结果显示在  Console  控制台

    Test_Select.java 代码如下:

    JDBC基础_第3张图片



以上就是通过两大平台展现 JDBC 的作用。

谢谢览阅 ^_^

你可能感兴趣的:(数据库,mysql,jdbc)