JDBC是一种用于执行SQL语句的JAVA API,可以为多种关系数据库提供统一的访问接口
JDBC的三个功能:1、与数据库建立连接。2、向数据库发送SQL指令。3、处理数据库返回的结果
JDBC的种类:1、JDBC—ODBC桥。2、本地API。3、Java到网络协议。4、本地协议纯Java驱动程序
SQL脚本:
create database web_test1
use web_test1
create table user(
id INT primary key auto_increment;
usernamae varvhar(20);
password varchar(20);
nickname varchar(20);
age int
);
insert into user values(null,'aaa','123','bbb',34);
JDBC访问数据库的基本步骤:1、加载JDBC驱动程序。2、创建数据库连接。3、创建statement对象。4、执行 SQL语句,返回结果集对象Resultset。5、处理数据库返回的结果。6、关闭创建的各个对象。
import org.junit.Test;
/**
* JDBC的入门程序
* @author jt
*
*/
public class JDBCDemo1 {
@Test
/**
* JDBC的入门
*/
public void demo1() throws Exception{
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//创建数据库连接
Connection conn = DriverMamager.getconnetion(url,user,password);
//创建statement对象
Statement smt = conn.createstatement();
//创建数据库语句
String sql = "select * from student"
//返回结果集
Resultset rs = smt.exexuteQuery(sql);
while(rs.next()){
System.out.print(rs.getInt("id")+" ");
System.out.print(rs.getString("username")+" ");
System.out.print(rs.getString("password")+" ");
System.out.print(rs.getString("nickname")+" ");
System.out.print(rs.getInt("age"));
System.out.println();
}
// 4.释放资源
rs.close();
statement.close();
conn.close();
}
常用的JDBC类与方法
DriverManager类:Driver Manager是JDBC驱动程序的管理类,使用class.froName()可以向DriverManager类装载并注册一个驱动程序。使用DriverManager对象的getconnection()方法就可以建立到指定数据库的连接
Class.forName("com.mysql.jdbc.Driver");
jdbc:mysql://localhost:3306/web_test3
jdbc :连接数据库的协议
mysql :是jdbc的子协议
localhost :连接的MySQL数据库服务器的主机地址。(连接是本机就可以写成localhost),如果连接不是本机的,就需要写上连接主机的IP地址。
3306 :MySQL数据库服务器的端口号
web_test3 :数据库名称
url如果连接的是本机的路径,可以简化为如下格式:
jdbc:mysql:///web_test3
Connection类:Connection对象代表着Java应用程序与后端数据库的一条物理连接基于这条连接,我们可执行一些SQL语句,他最常用的方法是conn.createment()该方法返回一个statement对象
作用一:创建执行SQL语句的对象



执行SQL语句对象:
lStatement :执行SQL
l CallableStatement :执行数据库中存储过程
l PreparedStatement :执行SQL.对SQL进行预处理。解决SQL注入漏洞。
作用二:管理事务



Statement类:Statement对象可以理解成是一个SQL窗器,在这个窗器中可以执行SQL语句,以实现增删改查的功能执行该对象的executeQuery()方法,可以得到一个查询结果的对象,即result对象。如果是执行该对象的增删改方法返回的结果是一个int类型的值,这个值代表的意思是当前影响到行数。
ResultSet:结果集。
通过select语句的查询结果。
结果集的遍历

l 结果集遍历原理

l 代码实现

结果集的获取


l 结果集获取可以使用结果集中的:
getXXX();方法通常都会有一个重载的方法。
l getXXX(int columnIndex);
l getXXX(String columnName);