JDBC
JDBC基本概念
概念:Java Database Connectivity Java数据库连接
本质:其实是官方提供的一套操作所有关系型数据库的规则,各个数据库厂商会去实现这套接口,产生数据库驱动。我们可以使用这套接口(JDBC)编程。真正执行的代码是驱动包里的实现类。
快速入门
//1.导入jar包
//2.注册驱动
// DriverManager:1.告诉程序使用哪一个数据库驱动。源码调用了静态代码块,也就是说驱动加载随着类的加载而加载。
//2.获取数据库连接url:制定连接的路径 (语法:jdbc:mysql://ip地址:3306/数据库名称 若连接本地的sql服务器,可省略为jdbc:mysql:///mydb3) user password
Class.forName("com.mysql.jdbc.Driver");//加载这个类
//3.获取数据库连接对象Connection:
// Connection:功能:获取执行sql的对象(Statement);管理事务。
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb3","root","556624");
//4.定义sql
String sql="update emp set sal=800.00 where ename = 'SMITH'";
//5.获取执行sql语句的对象
// Statement:执行sql 1.execute() 执行所有sql语句
// 2.executeUpdate() 执行DML(insert,update,delete)语句和DDL(create,alter,drop)语句
//返回值是影响的行数
// 3.executeQuery() DQL(select)语句
Statement stat = conn.createStatement();
//6.执行sql,接受返回结果
int count=stat.executeUpdate(sql);
//7.处理结果
System.out.println(count);
//8.释放资源
stat.close();
conn.close();
SMITH的sal从800.00变成了8000.00。
往数据库中添加数据
Connection conn =null;
Statement stat=null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql:///mydb3","root","556624");
String sql = "insert into emp values(4396,'CLEARLOVE','CLERK','7777','7777-07-07',777,NULL,20)";
stat = conn.createStatement();
int count = stat.executeUpdate(sql);
System.out.println(count);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally {if (stat!=null){
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}