【JDBC】查询Student表

前言

  JDBC是在ODBC的基础上开发的支持Java的数据库编程接口,它已成为数据库开发者使用的标准的API。使用JDBC能够很容易地把SQL语句传送到任何一个关系型数据库中。其API包括以下接口:java

java.sql.DriveManager--处理装载驱动程序,而且为建立新的数据库链接提供支持。
java.sql.Connection--完成对某一指定数据库的链接。
java.sql.Statement--表明一个特定的容器,用来对一个特定的数据库执行SQL语句。
java.sql.ResultSet--控制对一个特定语句行的存取。

  注意:咱们须要先将链接mysql的jar包拷贝到tomcat的lib目录,单击下载mysql

数据库查询

  1. 加载JDBC驱动程序
  2. 与数据库创建链接
  3. 查询数据库操做
  4. 检索结果集

实例分析

环境:MyEclipse,MySQL
1、创建数据表web

create table student( ID bigint auto_increment primary key, Sno bigint not null, Sname varchar(10) not null, Saddress varchar(20) not null );

可自行添加几行数据,这里简单写了三行数据,如图1-1所示:
sql

这里写图片描述
图1-1 数据库表

2、在MyEclipse中新建一个Web Project,这里命名为JDBCTest,并添加一个JSP文件,这里命名为SelectData,如图1-2所示:
这里写图片描述
图1-2 项目结构

3、在SelectData.jsp文件中编写查询数据库代码。

<body>
    <% //用MySQL创建的数据库名 String url = "jdbc:mysql://127.0.0.1:3306/dbname"; Connection conn = null; Statement sm = null; ResultSet rs = null; //加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); try { //与数据创建链接 conn = DriverManager.getConnection(url, "root", "jujianfei"); //建立Statement对象,用于执行SQL语句 sm = conn.createStatement(); //执行一个SQL Select语句 rs = sm.executeQuery("Select ID,Sno,Sname,Saddress from student"); %>
    <h1>查询结果:</h1>
    <table border="1">
        <tr>
            <th>ID</th>
            <th>Sno</th>
            <th>Sname</th>
            <th>Saddress</th>
        </tr>
        <% while (rs.next()) { %>
        <tr>
            <td><%=rs.getString("ID")%></td>
            <td><%=rs.getString("Sno")%></td>
            <td><%=rs.getString("Sname")%></td>
            <td><%=rs.getString("Saddress")%></td>
        </tr>
        <% } //关闭结果集和Statement对象 rs.close(); sm.close(); //关闭链接 conn.close(); } catch (SQLException e) { %>
        <h2>链接数据库出错!</h2>
    </table>
    <% } %>
</body>

  说明:这是用纯JSP的开发方式写的,应该算的上是最基础的JavaWeb。虽然看起来不少代码,不过核心的代码也就下面的几句。固然,除了查询,你也能够经过Statement的其余方法进行数据库更新操做;经过ResultSet对象的其余方法变换获取数据的方式。数据库

//数据库地址
String url = "jdbc:mysql://127.0.0.1:3306/dbname";

//一、加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//二、与数据库创建链接
Connection conn = DriverManager.getConnection(url, "root", "jujianfei");
//建立Statement对象,用于执行SQL语句
Statement sm = conn.createStatement();
//三、执行一个SQL Select语句,将其存入ResultSet中
ResultSet rs = sm.executeQuery("Select ID,Sno,Sname,Saddress from student");
//四、循环读取表数据
while (rs.next()) {}

  打印结果如图1-3所示:
编程

这里写图片描述
图1-3 打印结果

总结

  不一样的数据源,须要加载的驱动程序不一样,例如加载SQL Server数据库驱动程序的方式为:
  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
  另外,经过实例也能够了解到纯JSP代码写起来确实费劲,不过也有好处:简单。不管是引入JavaBean,仍是引入一些框架(如Struts2)。它们将JavaWeb的开发变得更加解耦合、可维护,易扩展的同时,也加了一点:复杂。tomcat