JDBC是什么:JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC能干什么:JDBC能与数据库建立连接、发送操作数据库的语句、处理数据库返回的结果。
JDBC怎么实现:
Oracle 数据库连接
需要先导入JDBC的jar包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class JDBC {
private static final String URL ="jdbc:oracle:thin:@localhost:1521:orcl";//资源地址
private static final String DRIVER="oracle.jdbc.driver.OracleDriver";//数据库驱动
private static final String NAME= "scott";//用户名
private static final String PASSWORD = "scott";//密码
public List<Dept> getJDBC(){
List<Dept> list=new ArrayList<Dept>();
Dept dept=null;
try {
//1.加载驱动
Class.forName(DRIVER);//动态创建对象,指明要使用的类
//2.从驱动管理器获得连接
Connection conn = DriverManager.getConnection(URL, NAME, PASSWORD);
//3.根据sql语句创建statemt对象
String sql="select * from Dept";
PreparedStatement ps = conn.prepareStatement(sql);
//4.执行sql语句
ResultSet rs = ps.executeQuery();
//5.获取结果集
while(rs.next()){
dept=new Dept(rs.getInt("deptno"),rs.getString("dname"),rs.getString("loc"));
list.add(dept);
}
//6.关闭连接
rs.close();
ps.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
在创建statemt对象时有2种选择
一种是statemt对象,一种是PreparedStatement。两者的区别是PreparedStatement是预编译的,可以一次编译多次执行,支持批处理。statemt是执行一次编译一次。statement存在sql注入等的安全隐患,而PreparedStatement是预编译的可以有效防止sql注入等安全隐患。
字符串解释
URL ="jdbc:oracle:thin:@localhost:1521:orcl";
jdbc:连接数据库的方式
oracle:连接的数据库类型
thin:连接数据库采用的模式。
@localhost:地址;本机写localhost,连接别人的写别人数据库的ip地址。
1521:端口
orcl:数据库名。
oracle数据库连接模式
thin:这种连接模式不要求安装oracle客户端,只需要导入jdbc驱动的jar包即可。使用方便。
oci:需要安装oracle客户端。访问速度快。
其他关系型数据库的JDBC连接类似,只需要使用对应数据库的URL、DRIVER、USER、PASSWORD。