一、JDBC的使用形式
1、JDBC-ODBC桥连接形式:程序—>JDBC—>ODBC—>数据库
这种方式的操作性能很差,但是支持度很高,它是java默认的支持方式,不需要任何的第三方驱动程序进行配置就可以使用
2、JDBC连接形式:程序—>JDBC—>数据库
这种方式的操作性能较第一种方式来说有所改善
3、JDBC网络连接形式:程序—>JDBC连接协议—>数据库
此方法在实际的开发过程中使用的最多
4、JDBC协议连接形式:即:使用特定的数据库生产商提供的协议标准进行数据库的操作,难度较高,一般不太使用
二、JDBC使用的包、接口及类
1、java.sql包
2、DriverManager类
3、接口:Connection、Statement、PreparedStatement、ResultSet
三、数据库操作步骤
1、加载数据库驱动程序(以Oracle为例)
(1)打开Oracle的两个服务,即监听服务和实例服务,以提供Oracle数据库连接的支持
(2)①配置数据库驱动程序,数据库驱动程序的路径:数据库安装目录中找到jdbc文件夹/bin/ojdbc6.jar
相关说明:如果使用的是记事本开发,则需要在系统环境变量ClassPath中加入此驱动程序的路径;
如果使用开发工具进行开发,则需要在【Java Build Path】中配置扩展的程序包:右键项目—选择属性—选择Java Build Path—选择libraries—add External jar —将驱动程序的路径复制上去
②所有数据库的驱动加载都是容器(java application容器)加载,利用Class.forName(驱动名称)进行加载。Oracle驱动程序类名称:驱动jar包下的Oracle.jdbc.driver.oracleDriver
2、依靠DriverManager类连接数据库
这个类的构造方法被私有化,使用这个类的静态方法
public static Connection getConnection(String url, String user, String password) throws SQLException url:对于Oracle来说,格式为:jdbc:oracle:thin:@IP地址:端口号:数据库的SID名称(默认情况和数据库名相同) 例如连接mldn数据库:jdbc:oracle:thin:@localhost:1521:mldn user:用户名 password:用户密码
这个方法会放回一个Connection接口对象,每一个Connection接口对象都表示一个数据库连接
3、进行数据库的CRUD操作(用到的接口有:Statement、PreparedStatement、ResultSet)
4、关闭数据库連接
四、具体实现(以下代码均有异常,最好使用try-catch-finally进行处理)
1、获取数据库的连接
//(3)从属性文件中获取数据库连接所需的参数url、user、password、driver InputStream in = this.getClass().getClassLoader() .getResourceAsStream("jdbc.properties"); Properties properties = new Properties(); properties.load(in); String driver = properties.getProperty("driverClass"); String url = properties.getProperty("url"); String user = properties.getProperty("user"); String password = properties.getProperty("password"); //(2)加载驱动(无驱动会报SQLException:No suitable driver found) Class.forName(driver); //(1)通过DriverManager类的静态方法getConnection()方法获取数据库的连接 Connection conn = DriverManager.getConnection(url, user, password); //System.out.println(conn);
2、src文件夹下的属性文件jdbc.properties(以oracle为例)
driverClass = oracle.jdbc.driver.OracleDriver url = jdbc:oracle:thin:@10.131.118.71:1521:orcl user = orcl //登录数据库的用户名 password = orcl //登录数据库的密码
3、进行增、删、改操作(使用的接口:statement、PreparedStatement)
(1)使用statement
//获取statement对象 Statement state = conn.createStatement(); //通过sql实现增加一条数据的操作,改、查操作只是sql不同 String sql = "insert into student(id,name,email,birth,age) " + "values(student_sq.nextval,'王五','wangwu@qq.com',to_date('1995-09-09','yyyy/mm/dd'),23)"; //执行sql state.execute(sql); //关闭statement state.close(); //关闭connection conn.close();
(2)使用 PreparedStatement
//2、sql参数 String sql = "Insert into student(id,name) values(?,?)"; //1、创建PrepareStatement对象 PrepareStatement ps = conn.PrepareStatement(sql); //3、调用ps的setXxx(index,value)设置占位符?的值 //4、执行ps的executeQuery()或executeUpdate()方法,实现sql的增删改操作,此时不需要传入sql参数
使用PreparedStatement的好處:
1、可以避免拼寫SQL語句,有利于代码的维护;
2、可以避免SQL的注入,提升了代码的安全性。
4、查询操作
String sql = "select id,name from student "; ResultSet rs = state.executeQuery(sql); while(rs.next()){ int id = rs.getInt(1);//获得第一列的值 String name= rs.getName(2);//获得第二列的值 。。。 System.out.println(id); System.out.pringln(name); 。。。 }
五、ResultSetMetaData类(元数据类)
通过此类可以获取通过sql查询后返回的结果集的一些属性,比如,列数,列的别名等。
//1、创建ResultSetMetaData对象 ResultSetMetaData rsmd = PrepareStatement.getMetaData(); //2、通过调用此类中的方法获得相应的属性,比如获得结果集中的列数: int count = rsmd.getColumnCount();
六、BeanUtils工具类
通过此类的setProperty(Object,name,value)方法可以给某个对象中的成员变量赋值,可以返回一个对象。
1、在使用BeanUtils工具包之前需要的Jar包有以下几种:
(1) BeanUtils相关包
commons-beanutils-1.8.3.jar
commons-beanutils-1.8.3-javadoc.jar
commons-beanutils-1.8.3-javadoc.jar
commons-beanutils-bean-collections-1.8.3.jar
commons-beanutils-core-1.8.3.jar
(2) Logic4j相关包
commons-logging.jar
log4j.jar
2、将通过ResultSetMetaData类获得结果集中的一些属性放入一个Map中,然后通过遍历Map,将Map中值通过此工具类可以返回一个对象。
相关推荐
本项目文件"java之jdbc项目文件"涵盖了使用JDBC进行数据库操作的基本概念和实践应用。下面将详细阐述JDBC的核心知识点。 1. **JDBC API概述**: JDBC是Java平台的一部分,它允许Java应用程序连接到各种类型的...
Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题 使用预编译对象PreparedStatement) 配置文件 db.properties(保存数据库账号和密码等) 工具类 JDBCUtil.java(抽取公共部分,解决硬...
Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题) 配置文件 db.properties(保存数据库账号和密码等) 工具类 JDBCUtil.java(抽取公共部分,解决硬编码问题) 用户账号实体类 User....
Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现) 实体类:User.java 接口类:IUserDao.java 实现接口类:UserDaoImpl.java 使用Junit4测试增删改查类:UserDaoTest.java
在Java编程中,JDBC(Java Database Connectivity)是Java语言访问数据库的标准,它提供了一组API,使得Java应用程序能够与各种不同的数据库系统进行交互。JDBC不仅定义了接口,还规定了实现这些接口的数据库驱动...
Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题) 配置文件 db.properties(保存数据库账号和密码等) 工具类 JDBCUtil.java(抽取公共部分,解决硬编码问题) 用户账号实体类 User....
Java JDBC(Java Database Connectivity)是Java平台中用于与数据库交互的一组接口和类,它作为标准API,使得Java程序员能够以统一的方式处理多种数据库。在Java应用中,JDBC提供了与数据库连接、发送SQL语句、处理...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种关系数据库进行交互的一组接口和类。它作为标准API,允许开发人员通过编写Java代码来访问和操作数据库,无需了解数据库特定的SQL语法或者驱动...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。它提供了一种标准化的方法,让程序员可以使用SQL语句访问数据库,而无需关心具体的数据库实现细节。在Java应用...
Java使用Jdbc连接Oracle执行简单查询操作示例 Java使用Jdbc连接Oracle执行简单查询操作,是指使用Java语言通过Jdbc(Java Database Connectivity)连接Oracle数据库并执行简单查询操作的过程。本文将通过实例形式...
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JAVA 使用 JDBC 进行 insert 操作添加信息到数据库 一、 JDBC 概述 JDBC(Java Database Connectivity)是一种 Java 应用程序用来与数据库进行交互的 API。它提供了一组标准的接口,允许 Java 应用程序与各种...
Java通过JDBC连接Impala是将Java应用程序与大数据分析平台Impala进行交互的一种常见方法。在Java编程中,JDBC(Java Database Connectivity)是用于访问数据库的标准API,它允许Java程序与各种数据库进行通信,包括...
Java JDBC学生数据管理系统是一个利用Java编程语言和JDBC(Java Database Connectivity)技术设计的应用,用于高效管理和操作学生数据。这个系统提供了用户友好的界面,使得用户可以方便地执行SQL(Structured Query...
Java 是一种广泛使用的编程语言,它提供了多种方式来处理数据库数据,而 JDBC(Java Database Connectivity)是 Java 中连接数据库的标准 API 之一。将数据库数据导出到 CSV 文件是一种常见的数据交换格式,它可以被...
使用java的JDBC进行 sql的连接
Java JDBC(Java Database Connectivity)驱动包是Java编程语言与各种数据库进行交互的一种标准接口。它允许Java应用程序连接到关系数据库,执行SQL语句,并获取结果。在这个“java - JDBC_Driver”驱动包中,包含了...
图书馆系统,大一Java课程设计,swing界面,使用JDBC进行基本数据库操作。 图书馆系统,大一Java课程设计,swing界面,使用JDBC进行基本数据库操作。 图书馆系统,大一Java课程设计,swing界面,使用JDBC进行基本...
Java ORACLE JDBC驱动是Java应用程序用来与Oracle数据库进行交互的重要组件。JDBC(Java Database Connectivity)是Java平台的标准API,允许Java程序通过网络与各种类型的数据库进行通信。Oracle JDBC驱动则是Oracle...