学习java过程中对于jdbc的学习和理解
JDBC概念
JDBC=Java DataBase Connection 即java语言对于数据库的连接
JDBC的本质:其实是Sun公司定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这个接口
提供数据库驱动jar包。我们可以用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类
举个例子:
Person接口 Worker类 Person p =new Worker(); p.eat() eat这个方法是在worker类中定义的。
所以我们都是父类应用指向子类对象的方法,以接口类型来调用方法。
JDBC只是一个接口,并没有去定义任何执行操作的代码。
JDBC快速入门
1.导入jar包
jar包一般放在WEB-INF下的libs目录下 ,然后右键将其加入libraries中
2.注册驱动
Class.forName("com.mysql.jdbc.Driver")
3.获取数据库连接对象Connection
Connection conn=DriverManager.getConnection(url,user,password);
4.定义sql
5.获取执行sql语句的对象 Statement
Statement stat=conn.createStatement();
6.执行sql,接受返回结果
int count=stat.excuteUpdata(sql);
7.处理结果
8.返回资源
stat.close()
conn.close()
详解各个对象
1.DriverManager:驱动管理对象
功能:
*注册驱动:
告诉程序该使用哪一个数据库驱动jar包
查看源代码发现,上面的Class.forName("com.mysql.jdbc.Driver")其实是加载了一个类,
但是为啥会就已经执行了数据库驱动的注册呢,源码中对于com.mysql.jdbc.Driver类中存在
静态代码块,静态代码块就是随着类加载时会被直接执行的代码部分,静态代码块中执行的函数为
static void registerDriver(Driver driver):注册与给定的驱动程序 DriverManager 。
*获取数据库连接:
方法:static Connection getConnection(String url,String user,String password)
url的书写语法:jdbc://mysql//ip地址:端口号/数据库名称
2.Connection 数据库连接对象
*功能:
*获取数据库连接对象 Statement createStatement()
*管理事务:
3.Statement 执行sql的对象
*执行静态sql语句 Boolean excute(String sql)不常用
int executeUpdate(String sql)执行DML(insert,update,delete)语句/DDL语句(create 等)
返回值为影响的行数
ResultSet executeQuery(String sql) 执行select语句
4.ResultSet 结果集对象:封装数据库查询到的数据集
next():游标向下移动一行
getXXX():获取数据 XXX是表示类型,括号内为数据库的列名
5.PreparedStatement