设计理念:
定义了一些接口(java.sql包),各个数据库厂商实现接口。
Connection,Statement,ResultSet
前提步骤:
- 首先要在官网下载对应的驱动程序jar包,jar包中的类实现JDBC接口(如:sqlsever2005 jdbc driver download)
- 项目与模块引用(导入)jar包
- 项目文件夹下新建lib 文件夹
- 把jar 包放入lib文件夹
- 项目引用project struct ->lib
- 点“+”后,选择java ,选择驱动程序所在的文件夹,即可加载成功。
代码实现步骤:
- 加载驱动程序:Class.forName("com.micorsoft.sqlsever.jdbc.SQLSeverDriver");
- Class.forName("驱动程序包名类名")静态方法
- 驱动程序类名 java.sql.Driver接口
- forName方法会抛出一个编译时异常ClassNotFoundException,必须处理
- 驱动程序加载到内存并且去DriverManager那里注册。
- 建立连接(Connection) DriverManager.getConnection();
- 静态方法
- getConnection方法会抛出一个编译时异常SQLException
- url 数据库类型,名称IP:port:dbName userName,pwd
- 创建Statement
- 执行sql int executeUpdate(String insert,update,delete sql)
ResultSet executeQuery(String selectSQL) - 关闭资源,关闭资源正好与建立资源顺序相反
代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class TestJDBC {
public static void main(String[] args) {
Connection con = null;
Statement sta = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("驱动程序加载完毕!");
String url = "jdbc:sqlserver://localhost:1433;databaseName=pas";
con = DriverManager.getConnection(url, "sa", "sa");
System.out.println(con);
sta = con.createStatement();
String sql = "insert into teacher(teanum, teaName, teatitle, teatypeid, teabtd, pwd, static) values ('20210001', '张三', '老师', 1, '1999-9-13', 1, 1)";
//String sql2 = "delete from teacher where teaNum = '20210001'";
//sql语句影响的行数
int rows = sta.executeUpdate(sql);
if (rows == 1) {
System.out.println("op success");
} else {
System.out.println("op error");
}
} catch (ClassNotFoundException e) {
System.out.println("驱动程序没有找到");
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(sta != null) {
sta.close();
sta = null;
}
if(con != null) {
con.close();
con = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
System.out.println("后面代码");
}
}