JDBC(java Database Connectivity,java数据库基础链接)是标准的Java访问数据库的ApI。JDBC定义了数据库的链接,SQL语言及执行结果的遍历。每个数据库厂商都提供了对应的数据库的驱动,在驱动包中定义了链接和操作数据库的接口;
查询实例:
1.构造数据库:
在这里我定义了一个只有几个数据的表,id(int),name(archer),age(int),sex(char),birthday(Date),description(text),并插入了几条数据;
2.导入mysql的驱动包(我也把驱动包上传到CSDN上);
3.编写(这里我是在jsp页面中写的,只是方便,一般写都是创建对应的实体类对象,在Select中获取数据库的数据,并为实例对象属性复制,将实例保存在request内置对象中,可以通过El表达式获取实例);
代码如下:
<%@page import="java.sql.Date"%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.ResultSet"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
//注册驱动
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
try{
//获取链接
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/likang","root","123456");
//获取Statement
stmt=con.createStatement();
//执行SQL
rs=stmt.executeQuery("select * from table_jdbc");
%>
<form action="###" method="get">
<table bgcolor="#cccccc" cellspacing="1" cellpadding="5" width="100%">
<tr bgcolor="#dddddd">
<th></th>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>生日</th>
<th>性别</th>
<th>描述</th>
</tr>
<%
//遍历结果集
while(rs.next()){
int id=rs.getInt("id");
int age=rs.getInt("age");
String name=rs.getString("name");
Date brithday=rs.getDate("birthday");
String sex=rs.getString("sex");
String description=rs.getString("description");
out.println("<tr>");
out.println(" <td><input type=checkbox name=id value="+id+"></td>");
out.println(" <td>"+id+"</td>");
out.println(" <td>"+name+"</td>");
out.println(" <td>"+age+"</td>");
out.println(" <td>"+brithday+"</td>");
out.println(" <td>"+sex+"</td>");
out.println(" <td>"+description+"</td>");
out.println("</tr>");
}
%>
</table>
</form>
<% }catch(Exception e){
e.printStackTrace();
}finally{
//释放链接
if(rs!=null){
rs.close();
}
if(stmt!=null){
stmt.close();
}
if(con!=null){
con.close();
}
}
%>
</body>
</html>
这个实例演示了JDBC访问数据库的一般步骤:注册驱动,获取链接,获取Statement,执行SQL并返回结果,遍历结果集,释放链接;