JDBC连接数据库,实现查询

首先用eclipse建立动态的web项目,
建立两个实体类JDBC连接数据库,实现查询_第1张图片
在Admin类中,添加属性,并停提供对应的get()set()toString()方法JDBC连接数据库,实现查询_第2张图片
JDBC连接数据库,实现查询_第3张图片
在数据库里,创建名为book的数据库,创建表admin
CREATE TABLE admin (
aid VARCHAR(50) NOT NULL ,
password VARCHAR(32),
lastdate DATETIME,
flag INT,
status INT,
CONSTRAINT pk_aid PRIMARY KEY (aid)
);
**

前面都是准备工作,接下来进入正题

**
我们在创建好的类test中进行如下操作

package cn.sjxy.jdbc.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import cn.sjxy.jdbc.domain.Admin;

public class Test {

	@org.junit.Test
	public void test1() throws ClassNotFoundException, SQLException {
	//先来个Admin对象,便于下面从数据库获取到值以后,打印出来
		Admin admin=new Admin();
		//声明数据源(jdbc:mysql://localhost:端口号/数据库名)
		String url="jdbc:mysql://localhost:3306/book";
		//数据库账号
		String user="root";
		//数据库密码
		String password="root";
		//加载数据库驱动
		Class.forName("com.mysql.jdbc.Driver");
		//创建数据库连接Connection conn=DriverManager.getConnection(数据源, 数据库账号, 数据库密码);
		Connection conn=DriverManager.getConnection(url, user, password);
		
		//数据库要执行的查询语句,数据库的语句全部封装在String sql="数据库语句"中
		String sql="select aid,password,lastdate,flag,status from admin";
		//JDBC存储过程。
		//statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译的, preparedstatement支持批处理,处理多次请求的效率高
		PreparedStatement preparedStatement=conn.prepareStatement(sql);
		//调用executeQuery()方法,返回一个结果集rs,到此,数据库查询数据的工作就完成了
		ResultSet rs=preparedStatement.executeQuery();
		//下面进行数据打印到控制台
		while(rs.next()) {
		//调用admin的set方法,把rs get到的数据作为参数传进去
		//1,2,3,4,5代表SQL语句里select 后面的字段即aid,password,lastdate,flag,status
			admin.setAid(rs.getString( 1));
			admin.setPassword(rs.getString(2));
			admin.setLastdate(rs.getTimestamp(3));
			admin.setFlag(rs.getInt(4));
			admin.setStatus(rs.getInt(5));
			调用admin的toString方法打印admin 到控制台
			System.out.println(admin.toString());
		}
		//关闭数据库连接
		//关掉结果连接
		if(rs!=null) {
			rs.close();
		}
		//关掉预编译
		if(preparedStatement!=null) {
			preparedStatement.close();
		}
		//断开连接
		if(conn!=null) {
			conn.close();
		}
	}
	
}

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