JDBC(Java Database Connectivity):提供了Java访问数据库的解决方案,定义了一套标准的接口,即访问数据库的通用API, 不同的数据库厂商根据各自数据库的特点去实现这些接口。 JDBC希望用相同的方式访问不同的数据库,让具体的数据库操作与数据库厂商实现无关,从而在不同数 据库之间轻易的进行切换。
JDBC相关类与接口:驱动管理类 DriverManager、连接接口 Connection、语句对象接口 Statement、结果集接口 ResultSet
JDBC的工作原理:1.加载驱动:Class.forName("com.mysql.cj.jdbc.Driver");
2.获取连接对象:
String url="数据库URL";
url="jdbc:mysql://localhost:3306/myschool?serverTimezone=GMT";
String user="数据库用户名";
user="root";
String pwd="数据库密码";
Connection conn=DriverManager.getConnection(url,user.pwd);
3.获取sql语句执行对象:
Statement statm=conn.createStatement();
4.执行sql语句:
增、删、改:int ret=statm.executeUpdate(String sql);
查:ResultSet rs=statm.executeQuery(String sql);
5.释放资源:
rs.close();
statm.close();
conn.close();
具体实现操作:
下载驱动:
•下载对应的数据库的驱动 mysql-connector-java-5.0.4-bin.jar
•将驱动类加载到项目中,放在项目里的lib文件夹下 Eclipse: Build Path
使用DriverManager加载驱动类:
• 加载驱动类
• 通过Class.forName( )方法(反射) 完成驱动类的注册
Connection接口:
• 根据URL连接参数找到与之匹配的Driver对象, 调用其方法获取连接 注:Connection只是接口!真正的实现是数据库厂商提供的驱动包 完成的。
Statement接口:
• Statement用于执行SQL语句
注:不同的SQL语句,要调用不同的方法来执行。
• Statement用于执行DML
增、删、改:int ret=statm.executeUpdate(String sql);
• Statement用于执行DQL
查:ResultSet rs=statm.executeQuery(String sql);
ResultSet接口:
• 执行查询SQL语句后返回的结果集,由 ResultSet接口接收。
• 常用处理方式:遍历/判断是否有结果
• 查询结果存放在ResultSet对象的一系列行中
• ResultSet对象的最初位置在行首
• ResultSet.next()方法用来在行间移动
• ResultSet.getXXX()方法用来取得字段的内容
关闭并释放资源 :
• 数据库操作执行完毕以后要释放相关资源
• Connection
• Statement
• ResultSet
MySQL实现:
下载对应的数据库驱动jar包 mysql-connector-java-5.0.4-bin.jar
将驱动jar包加载到项目中 Eclipse:BuildPath
加载驱动类 Class.forName(“com.mysql.jdbc.Driver”)
Oracle实现:
下载对应的数据库驱动jar包 ojdbc6.jar/ojdbc14.jar
将驱动jar包加载到项目中 Eclipse:BuildPath
加载驱动类 Class.forName(“oracle.jdbc.OracleDriver”)