JavaWeb 第一个JDBC程序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40788630/article/details/83211683

JDBC是Java数据库连接,是一套用于执行SQL语句的Java API

一、JDBC常用API

1.Driver接口

Driver接口是所有JDBC程序必须实现的接口,在编写JDBC程序时,必须把所有使用的数据库驱动程序或者类库加载到项目的classpath中,

2.DriverManager类

DriverManager类用于加载JDBC驱动并创建数据库的连接。在DriverManager类中,定义两个比较重要的方法

DriverManager
方法名 功能描述
registerDriver(Driver driver) 用于向DriverManager中注册给定的JDBC驱动程序
getConnection(String url,String name,String password) 用于建立数据库连接,并且返回表示连接的Connection对象

3.Connection接口

Connection接口在Java中表示java程序与数据库的连接,只有获得此链接对象后才能访问数据库,并操作数据表

4.Statement接口

Statement接口用于执行静态的SQL语句,并返回一个对象,该接口对象由Connection实例的createStatement()方法获得,利用该对象将SQL语句送去数据库进行执行,然后返回数据库的处理结果

5.PreparedStatement接口

preparedStatement接口是Statement的子接口,用于执行预编译的sql语句,该接口拓展了带有参数的SQL语句的执行操作,应用该接口中的SQL语句可以使用占位符“?”来代替其参数,然后通过setXXX()方法为SQL语句的参数赋值,

6.ResultSet接口

ResultSet接口用于保存JDBC执行查询时返回的的结果集,该结果将会封装到一个逻辑表格中

二、实现第一个JDBC程序

1.搭建数据库环境

create database jdbc;

use jdbc;

create table users(
id int primary key auto_increment,
name varchar(40),
password varchar(40),
email varchar(60),
birthday date) character set utf8 collate utf8_general_ci;

insert into users(name,password,email,birthday)
values('za','123456','za@sina','1997-12-04'),
('lisi','123456','lisi@sina','1995-08-09'),
('wangwu','123456','wangwu@sina','1994-05-19');

2、创建一个名为2chapter09的web项目,将下载好的mysql驱动文件复制到项目中

3.编写JDBC程序

package cn.itheima.jdbc.example;

import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;

public class example01 {

	public static void main(String[] args) throws SQLException {
		Statement stmt  = null;
		ResultSet rs = null;
		Connection conn = null;
		try {
			//1.注册数据库驱动
			Class.forName("com.mysql.jdbc.Driver");
			//2.通过DriverManager获取数据库连接
			String url = "jdbc:mysql://localhost:3306/jdbc";
			String username = "root";
			String password = "itcast";
			conn = DriverManager.getConnection(url, username, password);
			//3.通过Connection对象获取Statement对象
			stmt = conn.createStatement();
			//4.使用Statement执行SQL语句
			String sql = "select * from users";
			rs = stmt.executeQuery(sql);
			//5.操作ResultSet结果集
			System.out.println("id|name|password|email|brithday");
			while(rs.next()) {
				int id = rs.getInt("id");
				String name = rs.getString("username");
				String paw = rs.getString("password");
				String email = rs.getString("email");
				Date birthday = rs.getDate("birthday");
				System.out.println(id+"|"+name+"|"+paw+"|"+email+"|"+birthday);
			}
		}catch (ClassNotFoundException e) {
			e.printStackTrace();
		}finally {
			//回收数据库资源
			if(rs!=null) {
				try {
					rs.close();
				}catch (Exception e) {
					e.printStackTrace();
				}
				rs=null;
			}
			if(stmt!=null) {
				try {
					stmt.close();
				}catch (Exception e) {
					e.printStackTrace();
				}
				stmt=null;
			}
			if(conn!=null) {
				try {
					conn.close();
				}catch (Exception e) {
					e.printStackTrace();
				}
				conn=null;
			}
		}

	}

}

4.测试编译

测试结果如下:

再次查询数据库

可以看到,我们确实将数据库中的信息通过jdbc输出了

猜你喜欢

转载自blog.csdn.net/qq_40788630/article/details/83211683
今日推荐