JDBC
java database connectivity
作用:java 连接数据库,执行SQL语句的技术
java声明的4个接口
java.sql.Driver
java.sql.Connection
java.sql.Statement
java.sql.ResultSet
连接步骤
两个快捷键:列出类或接口的等级结构 C + H, Alt + Enter 错误代码解决方案
1得到对应数据库的驱动程序jar包(官网)
2模块引用jar
①项目建立Libraries project structure -> libraries -> 添加
②项目添加 Lbraries project structure -> Module-> 添加lib
3加载驱动程序
Class.forName(“驱动程序类 包名 + 类名”);
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
①驱动程序类一定实现了java.sql.Driver接口
②Class.forName()静态方法
③会抛出一个编译时异常ClassNotFoundException
④回去DriverManager那注册
4建立连接
①url; IP地址;端口号(port);databaseName userName pwd
String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName = AchievementAnalysisSystem";
con = DriverManager.getConnection(url,"sa","sa");
②getConnection()静态方法
Connection con = null;
con = DriverManager.getConnection(url,"sa","sa");
③抛出编译时异常SQLException
调用java.sql包中的任何一个类的任何一个方法都会抛出编译时异常SQLException
5创建statement对象(执行SQL语句)
Statement stat = null;
stat = con.createStatement();
6执行SQL(DML inset update delete/select)
int executeUpdate(insert/update/delete) sql语句影响的行数(返回int类型)
ResultSet excuteQuery(select);(结果集)
String sql = "delete from teacherTable where teaNum = '10003'";
int rows = stat.executeUpdate(sql);
7关闭资源
if (stat != null) {
stat.close();
stat = null;
}
if (con != null){
con.close();
con = null;
}
异常处理复习(Exception)
异常:将程序中不正常的情况称为“异常”。
Throwable->Exception
Exception分为RunTimeException和其他异常(编译时异常)
java.lang.RunTimeException和其子类是运行时异常(可不做处理)
处理机制一:try-catch-finally
try{
//可能产生异常的代码
}
catch(ExceptionName1 e){
//当产生ExceptionName1型异常时的处理措施
}
catch(ExceptionName2 e){
//当产生ExceptionName2型异常时的处理措施
}
//子类一定要声明在父类的上面。
finally{
//最后执行的代码,无论发不发生异常,都无条件执行的语句
}
处理机制二:throws + 异常类型
写在方法声明处,表示此方法执行时,可能会抛出的类型。