您的位置:首页 > 数据库

JDBC与JAVA数据库编程

2018-04-10 18:22 369 查看

JDBC的概念

JDBC是什么

JDBC(Java DateBase Connectivity) Java数据库连接,主要提供编写Java数据库应用程序的API支持.

JDBC实现的功能

创建和管理与数据源的连接
发送SQL命令至数据源
提取并处理由数据源返回至应用程序的结果集

JDBC的体系结构

JDBC的结构可划分为两层:
        JDBC驱动程序驱动程序管理器接口
        JDBC API

JDBC优缺点

优点

JDBC API与ODBC(Open Data Base Connectivity)十分相似,有利于用户理解.
JDBC使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方.
JDBC支持不同的关系数据库,这使得程序的可移植性大大加强
JDBC API是面向对象的,可以让用户把常用的方法封装为一个类,以备后用
缺点

使用JDBC,访问数据记录的速度会受到一定程度的影响
JDBC结构中包含不同厂家的产品,这就给更改数据源带来了很大的麻烦

JDBC基础应用

创建JDBC应用程序的步骤

编写JDBC应用程序的基本步骤
        导入JDBC类或包括JDBC类的包
        加载JDBC驱动程序

        建立与数据库的连接

        执行SQL语句,与数据库交互

        关闭连接
public class JDBC {
public static void main(String[] args) {
try {
// 使用JDBC操作数据库需要以下步骤
// 1.加载驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2.获取连接 localhost==127.0.0.1 本地
Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL", "scott","tiger");
// 3.获取Statement用于执行SQL语句
Statement statement =connection.createStatement();
// 4.会将查询到的结果保存到ResultSet结果集中
ResultSet resultSet =statement.executeQuery("select * from emp");
// 5.对结果集进行遍历(每遍历一次就要将结果集中的数据以对象的形式保存起来) 数据库中的一条记录就是一个对象
List<Emp> list = new ArrayList<>();
while(resultSet.next()){
Emp emp = new Emp();
//要获取当前行的第1列.....第n行
emp.setEmpno(resultSet.getInt("empno"));
emp.setEname(resultSet.getString("ename"));
emp.setJob(resultSet.getString("job"));
list.add(emp);
}

for (Emp emp : list) {
System.out.println(emp.getEmpno()+"---"+emp.getEname()+"---"+emp.getJob());
}
// 6.释放资源
resultSet.close();
statement.close();
connection.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

} 三层结构(1.表现层 2.业务层 3. 持久层)中:JDBC它是持久层的技术 
功能: 
 1.创建和管理与数据源的连接 
 2.发送SQL命令至数据源
 3.提取并处理由数据源返回至应用程序的结果集 
 核心接口组成包括: 
 1.类:DriverManager 驱动管理器
 2.接口:Connection 连接
 3.接口:Statement 用来执行SQL语句的 
 4.接口:ResultSet 结果集
 以后我们需要的所有的类库:http://mvnrepository.com/---------------Maven仓库
 注意:JDBC不是面向对象编程,它是面向关系型数据库来编程的.从结果集中获取的数据,我们需要自己创建对象将他们保存起来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: