基础知识点复习——JDBC


JDBC

一、什么是jdbc(java DataBase Connectivity)

jdbc是一种Java连接数据库的技术

二、jdbc的作用(只能对数据库的数据进行访问,不能更改表结构)

1.建立与数据库之间的访问连接

2.将编写好的sql语句发送到数据库执行

3.对数据库返回的执行结果进行处理

三、如何使用jdbc

1jdbc API

aDriverManager类:管理JDBC驱动

bConnection接口:连接数据库并且传递数据

cStatement接口:负责执行sql语句

dResultSet接口:保存Statement接口执行完sql语句后的结果。

2.使用JDBC访问数据库的步骤

a、加载驱动

Class.forName("JDBC驱动类名称");

 

b、使用DriverManager类获取数据库连接

Connection con = DriverManager.getConnection(数据库的URL

用户名,密码);

c、执行sql语句

Statement st = connection.createStatement();

ResultSet rs = st.executeQuery("sql语句");

d、处理结果

ResultSetnext()方法,这个方法是用来判断结果集是否包含数据

ResultSet中的get...()方法来得到想应得值。

f、释放资源

//演示代码

// 使用class.forName加载驱动

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

// 获得数据库连接

Connection connection = DriverManager.getConnection(

"jdbc:oracle:thin:@localhost:1521:ORCL", "scott", "tiger");

String sql = "select * from Inf";

//根据连接获得statement对象

Statement statement = connection.createStatement();

//执行sql语句,并且返回结果集

ResultSet rs = statement.executeQuery(sql);

//处理我们的结果集

//rs.next,检测结果集中是否还有数据

while(rs.next()){

int id = rs.getInt("id");//在结果集中查找id

String name = rs.getString("name");

int age = rs.getInt("age");

System.out.println(id+"\t"+name+"\t"+age);

}

//释放资源

rs.close();

statement.close();

connection.close();


导入jar包:

复制到工程中以后,在jar包上右键,点击build path,然后点击add

必须记住:

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

2.Connection connection = DriverManager.getConnection(

"jdbc:oracle:thin:@localhost:1521:ORCL","scott","tiger");

3.Statement statement = connection.createStatement();

4.ResultSet rs = statement.executeQuery(sql);

 

3.使用JDBC增、删、改

前面连接步骤都是一样的。

共同点:都有参数。

 

在我们使用JDBC进行增、删、改操作的时候,其实可以看成是一个操作。

只不过说:sql语句不一样,参数不一样。也就是在查询的基础上,加了个条件。

PreparedStatement实现于StatementPreparedStatementStatement更加灵活,

更加的有效率。

A、实现增、删、改的过程

a) 编写sql语句(例如新增,insert into inf values(?,?,?))

b) 创建PreparedStatement的实例,并且为占位符赋值。

c) 执行sql语句,直接执行executeUpdate()

d) 根据执行,返回结果,执行增、删、改操作的时候,返回值都是int类型,如果执行成功,则返回一个大于0的数字,如果执行失败,会返回-1,这个大于0的数字,其实是几行被改变,或者说几行被影响。

 

演示代码:

/**

 * 这个是新增INF表的信息

 * @throws Exception

 */

public void f2() throws Exception {

// 使用class.forName加载驱动

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

// 获得数据库连接

Connection connection = DriverManager.getConnection(

"jdbc:oracle:thin:@localhost:1521:ORCL", "scott", "tiger");

String sql = "insert into inf values(?,?,?)";

//根据连接获得PreparedStatement对象

PreparedStatement ps = connection.prepareStatement(sql);

//给占位符赋值,占位符从1开始

ps.setInt(1, 6);//数据库中是什么类型,就set什么类型

ps.setString(2, "小黑6");//两个参数,第一个是占位符的标号,第二个是值

ps.setInt(3, 8);

//执行,返回结果

int i = ps.executeUpdate();

if(i>0){

System.out.println("新增成功");

}else{

System.out.println("新增失败");

}

//释放资源

ps.close();

connection.close();

}

 

BaseDao

这个类就是实现数据库的连接以及增、删、改、查

也就是说,将数据库连接写成一个方法,将查询写成一个方法,将增、删、改写成一个方法,最后关闭资源,总共四个方法。

 

 

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值