01JDBC 技术简介
ODBC:open database connectivity
JDBC:java data base connectivity
JDBC API数据库连接 访问数据
Driver Manager驱动程序管理类,用来装载驱动程序,并为创建数据库连接创建支持
Connection接口:连接某一指定的数据库
Statement接口:执行SQL语句,获取查询结果的方法
PreparedStatement执行预编译的SQL语句
ResultSet对结果集进行处理
JDBC Driver API:面向底层驱动程序开发商
1.JDBC-ODBC bridge将对JDBC的调用全部委托给其他编程接口来实现,将对JDBC的调用转化为对ODBC的调用,需要安装本地代码库
2.部分java技术的本地API驱动程序
3.全部基于java技术的本地API驱动程序
4.全部基于java技术的本地协议驱动程序:全部基于java语言,包含了特定数据库的访问协议,使得客户端可以直接和数据库进行通讯
02JDBC 编程之数据准备:
新建数据库Schema Name-apply
set as default schema
打开MySqlWorkBench软件新建jsp_db数据库:
create table tbl_user(
id int(11) unsigned not null auto_increment,
name varchar(50) not null default '',
password varchar(50) not null default '',
email varchar(50) default '',
primary key (id))
engine = InnoDB
default charset = utf8;
create table tbl_address(
id int(11) unsigned not null auto_increment,
city varchar(20) default null,
country varchar(20) default null,
user_id int(11) unsigned not null,
primary key(id))
engine = Innodb
default charset = utf8;
insert into tbl_user(id,name,password,email)
values
(1,'xiaoming','123456','xiaoming@gmail.com'),
(2,'xiaozhang','123456','xiaozhang@gmail.com');
insert into tbl_address(city,country,user_id)
values('beijing','china',1);
insert into tbl_address(city,country,user_id)
values('tianjin','china',2);
选中语句执行 点击“闪电图标”执行
tbl_address右键Select Rows-Limit 1000就会看到数据插入进去了
http://www.mysql.com
Downloads-Community
mySQL Connectors-Connector/J进入JDBC驱动的下载页面
http://dev.mysql.com/downloads/connector/j/
Platform Independent (Architecture Independent), ZIP Archive
No thanks, just start my download.就开始下载
mysql-connector-java-5.1.40文件夹中
mysql-connector-java-5.1.40-bin.jar就是JDBC驱动
复制到工程项目WEB-INF-lib下,java Build Path-Libraries-Add JARs浏览到刚才项目WEB-INF-lib下选中mysql-connector-java-5.1.40-bin.jar
jdbc的五个步骤:1.加载驱动 2.打开连接 3.执行查询 4.处理结果 5.清理环境
Connection代表当前的数据库连接
Statement用于向数据库发送SQL语句
Statement 封装了从数据库中查询到的数据
alt+/ 自动补全
command+shift+o自动导入包
sysout按下alt+/ System.out.println();
创建JDBCTest.java文件
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
package com.jikexueyuan.jdbc;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class JDBCTest {
public static void main(String[] args) {
String sql = "SELECT *FROM tbl_user";
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");//注册驱动程序;Class为封装:jvm中类的信息
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_db", "root", "");//获取数据库的连接:url 用户名 密码
//jsp_db为数据库软件中创建的数据库
st = conn.createStatement();
rs = st.executeQuery(sql);
while (rs.next()) {
System.out.print(rs.getInt("id")+" ");
System.out.print(rs.getString("name")+" ");
System.out.print(rs.getString("password")+" ");
System.out.print(rs.getString("email")+" ");
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
rs.close();
} catch (Exception e2) {
}
try {
st.close();
} catch (Exception e3) {
// TODO: handle exception
}
try {
conn.close();
} catch (Exception e4) {
// TODO: handle exception
}
}
}
}
JDBCTest.java文件右键run as- java application
控制台输出 jsp_db数据库中的数据
1 xiaoming 123456 xiaoming@gmail.com
2 xiaozhang 123456 xiaozhang@gmail.com