浅谈jdbc

274 阅读2分钟

1. jdbc定义

java database connectivity java 与数据库的连接

2.jdbc步骤:

1.加载驱动(选择数据库)

使用oracle数据库就是获得oracle.jdbc.driver.OracleDriver这个类,然后加载.我们可以使用反射实现加载驱动的步骤.

    Class.forName("oracle.jdbc.driver.OracleDriver");

2.获取连接(与数据库建立连接)

加载完驱动之后我们就需要连接这个数据库

实现连接数据库的语句:

Connection conn=DriverManager.getConnection();

getConnection()是一个重载方法,我们可以在()里面选择性的输入实参.

其中的url的写法:

jdbc:oracle:thin:@db服务器地址:端口:实例

例如:

jdbc\:oracle\:thin\:@localhost\:1521\:XE

这个连接的就是本机的oracle数据库.端口为1521.实例为xe, 为oracle的简易版本

3.准备sql语句(要执行的sql)

String sql="select * from User where name=? and pwd=?";

注意sql语句中不要添加;号,因为sql语句是不要;号的

我们这里选择的处理快为预处理块,这样的好处为可以防止sql注入,并且可以预先编译,提高效率.

其中的?为占位符

4.准备处理块(发送和执行sql语句)

准备处理块的语句为: PreparedStatement state=conn.prepareStatement(sql); 使用预处理块我们还要在准备处理块之后为sql语句中的占位符?赋值

例如:

state.setObject(1, name);
state.setObject(2, pwd);

第一个参数代表第几个占位符,第二个参数代表要代替占位符的数据.占位符的起始位置为1.

等下我们可以利用state调用方法执行sql语句.

5.发送sql语句(发送执行sql)

发送查询语句的语句为:

ResultSet result=state.executeQuery();

发送增删改语句的语句为:

state.executeUpdate();

因为使用的是预处理块,所以在方法中可以不添加参数.

6.获取结果集(执行sql的结果)

获得结果集是查找操作独有的,因为有返回值,所以需要使用结果集接一下.

ResultSet result=state.executeQuery();

获得结果集后,我们就可以返回的数据进行处理分许.

7.关闭资源

在执行完上述步骤后,需要关闭开启的资源.

注意先打开的后关闭

执行语句为: result.close(); state.close(); conn.close();

3.注意

我们可以把驱动地址,url,等DriverManager.getConnection()方法中的参数写在配置文件中,这样我们在修改时就不要修改源码,直接到配置文件中修改即可.

并且我们还可以把加载驱动,配置文件的连接,以及获取连接的方法封装到一个类中,这个我们在使用时就不需要多次书写,只需调用封装的即可.