1. JDBC原理:
JDBC是一个接口,JDBC驱动就是接口的实现
当我们用java来连接一个数据库时,一定要有这个数据库对应的驱动,没有驱动无法完成数据库连接。
2. JDBC核心类(接口)
JDBC核心类有 DriverManager、Connection、Statement 和 Resultset
(1) DriverManager(驱动管理器)
>注册驱动: 让JDBC知道要使用的是哪个驱动
>获取Connection : 如果可以获取到Connection,说明已经与数据库连接上了
(2) Connection
> 与数据库的通讯都是通过这个对象,相当于手机
> 最重要的一个方法是用来获取Statement对象
(3) Statement
> 相当于语句的发送器,它的功能就是向数据库发送sql语句
> 调用它的int excuteUpdate(String sql)方法,它可以发送DML和DDL 语句。
> 调用它的ResultSet excuteQuery(String sql)方法,它可以执行select语句。返回一个结果集对象(表格)
(4) ResultSet
> 表格型对象
> 它内部有一个行光标,默认的位置是在 列名字上
调用ResultSet对象的next()方法,来进行移动
> 通过ResultSet对象的一系列getXxx()方法可以获取其中的值
>可以用while循环来遍历里面的数据
3. 连接数据库
//准备四大参数
String driverClassName = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/数据库名字";
String username = "root";
String password = "自己设置的密码";
//加载驱动类
Class.forName(driverClassName);
//获取Connection
Connection conn = DriverManaget.getConnection(url,username,password);
这样就可以连接到mysql中的数据库,这里要注意导入的包的类型均为java.sql
4.对数据库进行增删改操作
1)插入数据
//1.通过Connection来创建Statement
Statement stmt = conn.createStatement();
//2.使用Statement发送SQL语句!
String sql = "INSERT INTO 表名(列名,列名,列名) VALUES('','','')";
//因为这个方法的返回值为整形,用来告诉我们有多少行数据被修改。
int r = stmt.excuteUpdate(sql);
修改数据和删除数据只是把sql语句换一下
2)查询数据(ResultSet)
//1.通过Connection来创建Statement
Statement stmt = conn.createStatement();
//2.通过Statement来获取ResultSet对象,这个的返回对象是一个表格
ResultSet rs = stmt.excuteQuery("select * from people(表名)");
while(rs.next()){
//获取第一列的数据,数字 1 表示第一列。
int Id = rs.getInt(1);
//通过列名来获取列值
String ename = rs.getString("ename");
System.out.println(Id+","+ ename);
}
5.关闭资源
在操作完成之后,一定要关闭几个对象
rs.close();
stmt.close();
con.close(); //这个必须要关闭