JDBC的概念与基本建立过程

JDBC:
是一种用于执行SQL语句的Java API

JDBC的建立可以类似的看做打电话,而打电话的步骤为:
1、打给谁
2、拨通电话
3、聊天
4、挂机

其可以类比为,使用JDBC:
1、打给谁(决定和哪个数据库建立连接,即决定把那个数据库驱动加载进来)
Class.forName(“com.mysql.jdbc.Driver”);//不这么做也可以,但这么做有好处
会报错,说我们没有处理forName产生的异常
java里面异常有两种
一种必须处理
一种不必须处理
2、拨通电话(把连接建起来)

3、聊天(把sql语句发送给数据库程序,数据库程序把执行的结果返回给我们)
4、挂机(断开和数据库的连接,并释放一系列资源)

baidu.com
com.baidu.项目1
com.baidu.项目2

com.taobao.项目1

写一个JDBC的步骤:
1、把驱动拷贝进入项目下的lib文件夹夹
2、加载数据库驱动
class.forName(‘com.mysql.jdbc.Driver’);
2、建立数据库连接
+ url的格式
jdbc:mysql://localhost:3306/people_manage
协议:子协议://目标IP地址:端口/数据库
+ 建立连接语句
Connection connection = DriverManager.getConnection(
“jdbc:mysql://localhost:3306/people_manage”, “root”,“123456”);
4、执行查询语句
5、释放资源,断开连接

JDBC主要接口有:
1、Connection接口

Connection接口代表与特定的数据库的连接,在连接上下文中进行SQL语句并返回结果。

2.Statement接口

Statement接口用于已经建立连接的基础上向数据发送SQL语句。在JDBC中有3种Statement对象,分别是Statement、PreparedStatement和CallableStatement。Statement用于执行不带参数的简单的SQL语句;PreparedStatement继承了Statement,用来执行动态的SQL语句;CallableStatement继承了PreparedStatement,用于执行对数据库存储的过程中的调用。

3.PreparedStatement接口

PreparedStatement接口用来动态地执行SQL语句。通过PreparedStatement实例执行的动态的SQL语句,将被预编译并保存到PreparedStatement实例中,从而可以实现反复执行SQL语句。当向数据库发送一个SQL语句,数据库中的SQL解释器负责把SQL语句生成底层的内部命令,然后执行该命令,完成相关的数据操作。如果不断的向数据库提交SQL语句,肯定会增加数据库中SQL解释器的负担,影响执行速度。
对于JDBC,可以通过Connection对象的prepareStatement(String sql)方法对SQL语句实行预编译,生成数据库底层的内部命令,并将该命令封装在PreparedStatement对象中,通过调用该对象的相应的方法执行底层数据库命令。这样应用程序就能针对连接的数据库,实现将SQL语句解释为数据库底层的内部命令,然后让数据库执行这个命令,这样就可以减轻数据库的负担,提高访问数据库的速度。

4.ResultSet接口

ResultSet接口类似于临时表,用来暂时存放数据库查询操作所获得的结果集。ResultSet的实例具有指向当前数据行的指针,指针开始的位置在第一条记录的前面,通过next()方法可将指针向下移。

与数据库建立连接后代码如下图:
import java.sql.*;

class DBTest {
//mysql驱动包名
private static final String DRIVER_NAME = “com.mysql.jdbc.Driver”;
//数据库连接地址
private static final String URL = “jdbc:mysql://localhost:3306/localhost:3306/demo”;
//用户名
private static final String USER_NAME = “root”;
//密码
private static final String PASSWORD = “root”;
public static void main(String[] args){
Connection connection = null;
try {
//加载mysql的驱动类
Class.forName(DRIVER_NAME);
//获取数据库连接
connection = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
//mysql查询语句
String sql = “SELECT name FROM demo where name like ‘%_23%’”;
PreparedStatement prst = connection.prepareStatement(sql);
//结果集
ResultSet rs = prst.executeQuery();
while (rs.next()) {
System.out.println(“用户名:” + rs.getString(“name”));
}
rs.close();
prst.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值