JDBC入门案例

什么是JDBC?

JDBC的全称是Java数据库连接(Java Database Connectivity),它是一套用于执行SQL语句的Java API。

作为一个Web开发人员来说,JDBC操作是基本技能中不能再基本的要求了。当我们了解JDBC是如何工作的,就有利于我们了解持久层框架(如现在流行的Hibernate和Mybatis)是如何操作数据库的,而不仅仅只是会用,我们更要懂得这些底层是如何运作的。

JDBC常用的API

1、Driver接口

Driver接口是所有JDBC驱动程序必须实现的接口,该接口专门提供给数据库厂商使用。

2、DriverManager类

DriverManager类用于加载JDBC驱动并且创建与数据库的连接。

3、Connection接口

Connection接口代表Java程序和数据库的连接。

4、Statement接口

Statement接口用于向数据发送SQL语句,但是该Statement容易受到SQL注入攻击,所以我们推荐使用PreparedStatement接口来向数据库发送SQL语句,PreparedStatement会执行预编译的SQL语句,这样就能避免SQL攻击。

5、PreparedStatement接口

PreparedStatement接口是Statement接口的子接口,用于执行预编译的SQL语句。

6、ResultSet接口

ResultSet接口表示select查询语句得到的结果集,该结果集封装在一个逻辑表格中。


案例:【操作mysql数据库】

创建数据库和表:

create database mydb;

use mydb;

create table t_user(

       `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(40) DEFAULT NULL,
      `password` varchar(40) DEFAULT NULL,
      `email` varchar(60) DEFAULT NULL,
      `birthday` date DEFAULT NULL,
      PRIMARY KEY (`id`)

);

所需要的jar:mysql-connector-java-5.0.8-bin.jar

【下载mysql驱动包可以到官网https://dev.mysql.com/downloads/connector/

Java代码:【在这里只是简单对所使用的资源进行关闭,后面的博文中会给出更加规范的写法】

/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) throws Exception {
		// 注册驱动
		Class.forName("com.mysql.jdbc.Driver");
		// 获取连接
		String url = "jdbc:mysql://localhost:3306/mydb";
		String user = "root";
		String password = "123";
		Connection conn = DriverManager.getConnection(url, user, password);
		Statement stmt = conn.createStatement();
		String sql = "SELECT id,NAME,PASSWORD,email,birthday FROM t_user";
		ResultSet rs = stmt.executeQuery(sql);
		while(rs.next()) {
			System.out.println("==================");
			System.out.println(rs.getInt("id"));
			System.out.println(rs.getString("NAME"));
			System.out.println(rs.getString("PASSWORD"));
			System.out.println(rs.getString("email"));
			System.out.println(rs.getDate("birthday"));
		}
		// 回收资源
		rs.close();
		stmt.close();
		conn.close();
	}
到这里,基本上就了解了一个简单的JDBC程序如何操作数据库。





原文地址:https://www.cnblogs.com/chunguang-yao/p/10666436.html