//JDBC入门案例:展示编码步骤
//任务目标:把数据库中users中的所有记录查询出来,打印到控制台上
/*
//创建数据库仓库
create database day01;
use day01;
//创建表
create table users(
id int primary key auto_increment,
name varchar(40),
password varchar(40),
email varchar(60),
birthday date
);
//插入数据
insert into users(name,password,email,birthday) values('zs','123456','zs@sina.com','1980-12-04');
insert into users(name,password,email,birthday) values('lisi','123456','lisi@sina.com','1981-12-04');
insert into users(name,password,email,birthday) values('wangwu','123456','wangwu@sina.com','1979-12-04');
*/
新建Java工程
导入mysql-connector-java-5.0.8-bin 文件 并右键build path ->add build path
部分代码
//需要导入包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
//也可import java.sql.*;导入所有包
public static void main(String[] args) throws SQLException {
// TODO Auto-generated method stub
//注册驱动有两种方式推荐第二种
//1.DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//2.Class.forName("com.mysql.jdbc.Driver");
//获取数据库连接
Connection conect = DriverManager.getConnection("jdbc:mysql://localhost:3306/day01", "root", "123456");
//创建代表Sql
Statement stmt = conect.createStatement();
//执行Sql
ResultSet result = stmt.executeQuery("select id,name,password,email,birthday from users");
//查询并且打印结果
while(result.next())
{
System.out.println(result.getObject("id"));
System.out.println(result.getObject("name"));
System.out.println(result.getObject("password"));
System.out.println(result.getObject("email"));
System.out.println(result.getObject("birthday"));
System.out.println("---------------------");
}
//释放资源
conect.close();
result.close();
stmt.close();
}
//总结
1、DriverManager
作用:
注册驱动
方式一:DriverManager.registerDriver(new
com.mysql.jdbc.Driver());
缺点:
1、严重依赖具体的数据库驱动
2、导致数据驱动注册2遍
方式二:(推荐)
Class.forName("com.mysql.jdbc.Driver");
2、Connection
获取与数据库的链接
方式一:
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/day15",
"root","sorry");
String url:JDBC与数据库厂商的协议。具体参考数据库的文档。
Oracle:jdbc:oracle:thin:@localhost:1521:orcl瘦客户端链接方式
jdbc:oracle:client:@localhost:1521:orcl客户端链接方式,高效
方式二:
Properties info = new Properties();
info.setProperty("user", "root");
info.setProperty("user", "123456");
DriverManager.getConnection("jdbc:mysql://localhost:3306/day01",info);
方式三:
Connection conn
= DriverManager.getConnection("jdbc:mysql:///day15?user=root&password=sorry");
作用:所有与数据库的交互都是基于链接的。
3、Statement
Statement
createStatement():创建代表SQL语句的对象
作用:代表SQL语句对象
常用方法:
lResultSet
executeQuery(String sql):执行查询,返回结果集。
lint executeUpdate(String sql):执行DML语句。返回的是SQL语句影响到的记录条数。
lboolean execute(String sql):执行任何的SQL语句。返回值不代表成功与否。如果执行的语句有结果集,返回true,否则返回false。
4、ResultSet
作用:封装了结果集。
常用的方法:
boolean next():向下移动。返回有没有记录
boolean provious():向上移动。返回有没有记录
boolean absolute(int row):定位。返回有没有记录。看第2条,写2.
void beforeFirst():移动到第一条记录的前面。默认位置
void afterLast():移动到最后一条记录的后面。