MySQL三十:JDBC(重点)
数据库驱动:
驱动:声卡,显卡,数据库… …
JDBC:
SUN公司为了简化 开发人员额(对数据库的统一)操作,提供了一个(Java操作数据库)规范,即JDBC
这些规范的实现由具体的厂商操作
对于开发人员来说,只需掌握JDBC接口即可。
java.sql
javax.sql
还需要导入一个数据库驱动板 mysql-connector-java-8.0.13.jar
第一个JDBC程序
- 创建测试数据库
CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci;
USE jdbcStudy;
CREATE TABLE users (
`id` INT ,
`name` VARCHAR(40) ,
`password` VARCHAR(40),
`email` VARCHAR(60) ,
`birthday` DATE ,
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
INSERT INTO users(`id`, `name`,`password`, `email`,`birthday`)
VALUES (1,'zhansan','123456', 'zhansanqq.com','2001-4-20'),
(2,'1isi','123456', '[email protected]','2001-4-21'),
(3, 'wangwu', '123456', '[email protected]','2001-4-22') ;
1、创建一个普通项目
2、导入数据库驱动
package lesson01;
import java.sql.*;
//我的第一个jdbc程序
public class JdbcFirst {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver"); //固定写法,加载驱动
//2.用户信息和url
//useUnicode=true&character=Encoding=uft8&useSSL=true
String url = "jdbc:mysql://localhost:3306/jdbcStudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
String name = "root";
String password ="123456";
//3.连接成功后返会一个数据库对象 Connection 代表数据库
Connection connection = DriverManager.getConnection(url, name, password);
//事务提交
//事务回滚
//connection.commit();
//connection.rollback();
//4.执行SQL的对象 Statement 执行sql的对象
Statement statement = connection.createStatement();
//statement.executeQuery(); //查询操作 返回 ResultSet
//statement.execute(); //执行任何SQL
//statement.executeUpdate(); // 更新,插入,删除 都是使用这个 返回一个受影响的行数
//5.执行SQL的对象 去执行SQL,可能存在结果,需要查看返回结果
String sql="SELECT * FROM users";
ResultSet resultSet = statement.executeQuery(sql); //返回的结果集,结果集封装了我们全部查询出来的结果
resultSet.getObject(); //在不知道列类型的情况下使用
// 在知道列类型 就使用指定类型
/*resultSet.getString();
resultSet.getInt();
resultSet.getFloat();
resultSet.getDate();*/
/*resultSet.beforeFirst(); //移动到最前面
resultSet.afterLast(); //移动到最后面
resultSet.next(); // 移动到下一个数据
resultSet.previous(); // 移动到前一行
resultSet.absolute(row); // 移动到指定行*/
while(resultSet.next()){
System.out.println("id"+resultSet.getObject("id"));
System.out.println("name"+resultSet.getObject("name"));
System.out.println("pwd"+resultSet.getObject("password"));
System.out.println("email"+resultSet.getObject("email"));
System.out.println("birth"+resultSet.getObject("birthday"));
System.out.println("===============================================");
}
//6.释放连接
resultSet.close();
statement.close();
connection.close();
}
}