jdbc

1. java 数据库连接

一种用于执行sql 语句的java API,可以为多种数据库提供统一的访问,由一套java 类和接口组成,这些接口的实现类有数据库厂商提供(包含在jar包里),我们使用只需要了解每个接口,以及接口里的方法就可以。

Java  data base Connectivity

java 代码操作 数据库

sun提供的一套api接口  

 

 

入门Demo

步骤:

*加载驱动类   Class.forName(“类名”)

*获取连接    DriverManager.getConnection()   得到 Connection

*得到执行sql 的对象  Statement

*执行sql语句,返回结果    ResultSet

*处理结果  

*关闭资源 .close()

 

核心的接口

Connection

与数据库的连接(会话)

3.几个核心的接口(类)

DriverManager  驱动管理类

static Connection

getConnection(String url, String user, String password)
 与数据库建立连接

 

 

Connection   与特定数据库的连接

 Statement

createStatement()
 创建一个 Statement 对象来将 SQL 语句发送到数据库。

 PreparedStatement

prepareStatement(String sql)
 创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。

 

Statement   用于执行SQL 语句并返回它所生成结果的对象

 

 ResultSet

executeQuery(String sql)
 执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。

 int

executeUpdate(String sql)
  执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。返回的是受影响的行数。

 boolean

execute(String sql)
 执行给定的 SQL 语句,true代表返回了结果集(select),false代表没有结果集

 

ResultSet   

表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。

 boolean

next()
  将光标从当前位置向前移一行。

 

boolean next()

将光标从当前位置向下移动一行

boolean previous()

游标从当前位置向上移动一行

void close()

关闭ResultSet 对象

int getInt(int colIndex)

以int形式获取结果集当前行指定列号值

int getInt(String colLabel)

以int形式获取结果集当前行指定列名值

float getFloat(int colIndex)

以float形式获取结果集当前行指定列号值

float getFloat(String colLabel)

以float形式获取结果集当前行指定列名值

String getString(int colIndex)

以String 形式获取结果集当前行指定列号值

String getString(String colLabel)

以String形式获取结果集当前行指定列名值

 2.url

  

JDBC的URL=协议名+子协议名+数据源名。
a 协议名总是“jdbc”。
b 子协议名由JDBC驱动程序的编写者决定。
c 数据源名也可能包含用户与口令等信息;这些信息也可单独提供。
几种常见的数据库连接


-------------------------------oracle------------------
驱动:oracle.jdbc.driver.OracleDriver
URL:jdbc:oracle:thin:@machine_name:port:dbname
注:machine_name:数据库所在的机器的名称;
port:端口号,默认是1521

-------------------------------mysql-------------------
驱动:com.mysql.jdbc.Driver
URL:jdbc:mysql://machine_name:port/dbname
注:machine_name:数据库所在的机器的名称;
port:端口号,默认3306

---------------------------SQL Server------------------
驱动:com.microsoft.jdbc.sqlserver.SQLServerDriver
URL:jdbc:microsoft:sqlserver://<machine_name><:port>;DatabaseName=<dbname>
注:machine_name:数据库所在的机器的名称;
port:端口号,默认是1433

--------------------------DB2--------------------------
驱动:com.ibm.db2.jdbc.app.DB2Driver
URL:jdbc:db2://<machine_name><:port>/dbname
注:machine_name:数据库所在的机器的名称;
port:端口号,默认是5000
-------------------------------------------------------

3. PreparedStatement 

1.PreparedStatement 接口继承 Statement接口

2.PreparedStatement提高了代码的可读性和可维护性  

3.防止sql注入,提高了安全性

4.可重复用,提高了SQL语句执行的性能

因为预编译语句有可能被重复调用.所以语句在被DB的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中(相当于一个函数)就会得到执行.这并不是说只有一个Connection中多次执行的预编译语句被缓存,而是对于整个DB,只要预编译的语句语法和缓存中匹配.那么在任何时候就可以不需要再次编译而可以直接执行.statement的语句中,即使是相同一操作,而由于每次操作的数据不同所以使整个语句相匹配的机会极小,几乎不太可能匹配

转载于:https://www.cnblogs.com/lin02/p/11228294.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值