JDBC基础练习Word格式文档下载.docx

上传人:b****6 文档编号:20020135 上传时间:2023-01-15 格式:DOCX 页数:24 大小:21.97KB
下载 相关 举报
JDBC基础练习Word格式文档下载.docx_第1页
第1页 / 共24页
JDBC基础练习Word格式文档下载.docx_第2页
第2页 / 共24页
JDBC基础练习Word格式文档下载.docx_第3页
第3页 / 共24页
JDBC基础练习Word格式文档下载.docx_第4页
第4页 / 共24页
JDBC基础练习Word格式文档下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

JDBC基础练习Word格式文档下载.docx

《JDBC基础练习Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JDBC基础练习Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。

JDBC基础练习Word格式文档下载.docx

右表的数据必须全部显示,用右表去匹配左表的数据,如果左表有符号条件的数据则显示符合条件的数据;

2.5自连接查询

3)存储过程

--创建存储过程语法

delimeter结束符号

createprocedure名称(IN/OUT/INOUT参数名称参数类型)

begin

带逻辑的sql语句

end结束符号

--调用存储过程

CALL存储过程名称(实际参数);

今天的目标:

jdbc基础

2jdbc入门

2.1之前操作数据

1)通过mysql的客户端工具,登录数据库服务器(mysql-uroot-p密码)

2)编写sql语句

3)发送sql语句到数据库服务器执行

2.2什么是jdbc?

使用java代码(程序)发送sql语句的技术,就是jdbc技术!

2.3使用jdbc发送sql前提

登录数据库服务器(连接数据库服务器)

数据库的IP地址

端口

数据库用户名

密码

/**

*jdbc连接数据库

*@authorAPPle

*

*/

publicclassDemo1{

//连接数据库的URL

privateStringurl="

jdbc:

mysql:

//localhost:

3306/day17"

;

//jdbc协议:

数据库子协议:

主机:

端口/连接的数据库//

privateStringuser="

root"

//用户名

privateStringpassword="

//密码

/**

*第一种方法

*@throwsException

@Test

publicvoidtest1()throwsException{

//1.创建驱动程序类对象

Driverdriver=newcom.mysql.jdbc.Driver();

//新版本

//Driverdriver=neworg.gjt.mm.mysql.Driver();

//旧版本

//设置用户名和密码

Propertiesprops=newProperties();

props.setProperty("

user"

user);

password"

password);

//2.连接数据库,返回连接对象

Connectionconn=driver.connect(url,props);

System.out.println(conn);

}

*使用驱动管理器类连接数据库(注册了两次,没必要)

publicvoidtest2()throwsException{

//Driverdriver2=newcom.oracle.jdbc.Driver();

//1.注册驱动程序(可以注册多个驱动程序)

DriverManager.registerDriver(driver);

//DriverManager.registerDriver(driver2);

//2.连接到具体的数据库

Connectionconn=DriverManager.getConnection(url,user,password);

*(推荐使用这种方式连接数据库)

*推荐使用加载驱动程序类来注册驱动程序

publicvoidtest3()throwsException{

//Driverdriver=newcom.mysql.jdbc.Driver();

//通过得到字节码对象的方式加载静态代码块,从而注册驱动程序

Class.forName("

com.mysql.jdbc.Driver"

);

//DriverManager.registerDriver(driver);

}

2.4JDBC接口核心的API

java.sql.*和javax.sql.*

|-Driver接口:

表示java驱动程序接口。

所有的具体的数据库厂商要来实现此接口。

|-connect(url,properties):

连接数据库的方法。

url:

连接数据库的URL

URL语法:

jdbc协议:

//主机:

端口/数据库

user:

数据库的用户名

password:

数据库用户密码

|-DriverManager类:

驱动管理器类,用于管理所有注册的驱动程序

|-registerDriver(driver):

注册驱动类对象

|-ConnectiongetConnection(url,user,password);

获取连接对象

|-Connection接口:

表示java程序和数据库的连接对象。

|-StatementcreateStatement():

创建Statement对象

|-PreparedStatementprepareStatement(Stringsql)创建PreparedStatement对象

|-CallableStatementprepareCall(Stringsql)创建CallableStatement对象

|-Statement接口:

用于执行静态的sql语句

|-intexecuteUpdate(Stringsql):

执行静态的更新sql语句(DDL,DML)

|-ResultSetexecuteQuery(Stringsql):

执行的静态的查询sql语句(DQL)

|-PreparedStatement接口:

用于执行预编译sql语句

|-intexecuteUpdate():

执行预编译的更新sql语句(DDL,DML)

|-ResultSetexecuteQuery():

执行预编译的查询sql语句(DQL)

|-CallableStatement接口:

用于执行存储过程的sql语句(callxxx)

|-ResultSetexecuteQuery():

调用存储过程的方法

|-ResultSet接口:

用于封装查询出来的数据

|-booleannext():

将光标移动到下一行

|-getXX():

获取列的值

3使用Statement执行sql语句

3.1执行DDL语句

*执行DDL语句(创建表)

publicvoidtest1(){

Statementstmt=null;

Connectionconn=null;

try{

//1.驱动注册程序

Class.forName("

//2.获取连接对象

conn=DriverManager.getConnection(url,user,password);

//3.创建Statement

stmt=conn.createStatement();

//4.准备sql

Stringsql="

CREATETABLEstudent(idINTPRIMARYKEYAUTO_INCREMENT,NAMEVARCHAR(20),genderVARCHAR

(2))"

//5.发送sql语句,执行sql语句,得到返回结果

intcount=stmt.executeUpdate(sql);

//6.输出

System.out.println("

影响了"

+count+"

行!

"

}catch(Exceptione){

e.printStackTrace();

thrownewRuntimeException(e);

}finally{

//7.关闭连接(顺序:

后打开的先关闭)

if(stmt!

=null)

try{

stmt.close();

}catch(SQLExceptione){

e.printStackTrace();

thrownewRuntimeException(e);

}

if(conn!

conn.close();

}

3.2执行DML语句

*使用Statement执行DML语句

publicclassDemo2{

*增加

publicvoidtestInsert(){

//通过工具类获取连接对象

conn=JdbcUtil.getConnection();

//3.创建Statement对象

//4.sql语句

INSERTINTOstudent(NAME,gender)VALUES('

李四'

'

女'

)"

//5.执行sql

行"

//关闭资源

/*if(stmt!

}*/

JdbcUtil.close(conn,stmt);

*修改

publicvoidtestUpdate(){

//模拟用户输入

Stringname="

陈六"

intid=3;

/*//1.注册驱动

*/

UPDATEstudentSETNAME='

+name+"

'

WHEREid="

+id+"

System.out.println(sql);

*删除

publicvoidtestDelete(){

DELETEFROMstudentWHEREid="

3.3执行DQL语句

*使用Statement执行DQL语句(查询操作)

publicclassDemo3{

try{

//获取连接

//创建Statement

//准备sql

SELECT*FROMstudent"

//执行sql

ResultSetrs=stmt.executeQuery(sql);

//移动光标

/*booleanflag=rs.next();

flag=rs.next();

if(flag){

//取出列值

//索引

intid=rs.getInt

(1);

Stringname=rs.getString

(2);

Stringgender=rs.getString(3);

System.out.println(id+"

"

+gender);

//列名称

intid=rs.getInt("

id"

Stringname=rs.getString("

name"

Stringgender=rs.getString("

gender"

}*/

//遍历结果

while(rs.next()){

}

}catch(Exceptione){

}finally{

4使用PreparedStatement执行sql语句

publicvoidtestInsert(){

PreparedStatementstmt=null;

//1.获取连接

//2.准备预编译的sql

INSERTINTOstudent(NAME,gender)VALUES(?

?

//?

表示一个参数的占位符

//3.执行预编译sql语句(检查语法)

stmt=conn.prepareStatement(sql);

//4.设置参数值

/**

*参数一:

参数位置从1开始

*/

stmt.setString(1,"

李四"

stmt.setString(2,"

男"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1