JDBC增删查改.docx

上传人:b****4 文档编号:3812278 上传时间:2022-11-25 格式:DOCX 页数:14 大小:17.78KB
下载 相关 举报
JDBC增删查改.docx_第1页
第1页 / 共14页
JDBC增删查改.docx_第2页
第2页 / 共14页
JDBC增删查改.docx_第3页
第3页 / 共14页
JDBC增删查改.docx_第4页
第4页 / 共14页
JDBC增删查改.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

JDBC增删查改.docx

《JDBC增删查改.docx》由会员分享,可在线阅读,更多相关《JDBC增删查改.docx(14页珍藏版)》请在冰豆网上搜索。

JDBC增删查改.docx

JDBC增删查改

JAVAJDBC增删查改

JDBC,JavaDatabaseConnecive,Java数据库连接,是一组专门负责连接并操作数据库的标准,在整个JDBC中实际上大量的提供的是接口。

针对于各个不同的数据库生产商,只要想使用JAVA进行数据库的开发,则对这些标准有所支持。

JDBC在使用中常见的有以下三类:

JDBC-ODBC桥连接:

是SUN在JDK的开发包中提供的最标准的一套JDBC操作类库,使用的时候将JDBC-ODB-数据库,中间要经过一个ODBC的连接,那么就意味着整体的性能将会降低,所以在开发中是绝对不会去使用JDBC-ODBC的连接方式的。

JDBC连接,使用各个数据库提供商给定的数据库驱动程序,完成JDBC的开发,使用的时候需要在classpath中配置数据库的驱动程序

JDBC网络连接:

主要使用通过网络连接数据库

JDBC的操作步骤

在进行JDBC操作的时候可以按照以下的步骤完成:

1、加载数据库驱动程序,加载的时候需要将驱动程序配置到classpath之中

2、连接数据库,通过Connection接口和DriverManager类完成

3、操作数据库,通过Statement、PreparedStatement、ResultSet三个接口完成

4、关闭数据库,在实际开发中数据库资源非常有限,操作完之后必须关闭

数据库连接操作

在JDBC的操作中,如果要想进行数据库的连接,则必须按照以上的几步完成

1、通过Class.forName()加载数据库的驱动程序

2、通过DriverManager类进行数据库的连接,连接的时候要输入数据库的连接地址、用户名、密码

3、通过Connection接口接收连接

packageorg.connectiondemo;

importjava.sql.Connection;

importjava.sql.DriverManager;

publicclassConnectionJDBC{

/**

*@paramargs

*/

//驱动程序就是之前在classpath中配置的JDBC的驱动程序的JAR包中

publicstaticfinalStringDBDRIVER="com.mysql.jdbc.Driver";

//连接地址是由各个数据库生产商单独提供的,所以需要单独记住

publicstaticfinalStringDBURL="jdbc:

mysql:

//localhost:

3306/test";

//连接数据库的用户名

publicstaticfinalStringDBUSER="root";

//连接数据库的密码

publicstaticfinalStringDBPASS="";

publicstaticvoidmain(String[]args)throwsException{

Connectioncon=null;//表示数据库的连接对象

Class.forName(DBDRIVER);//1、使用CLASS类加载驱动程序

con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);//2、连接数据库

System.out.println(con);

con.close();//3、关闭数据库

}

}

数据库更新操作

如果要想执行数据库的更新操作,则可以使用Statement接口,数据库更新就是增加、修改、删除

增加、更新、删除操作

packageorg.updatedemo;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.Statement;

publicclassUpdateDemo{

/**

*@paramargs

*/

//驱动程序就是之前在classpath中配置的JDBC的驱动程序的JAR包中

publicstaticfinalStringDBDRIVER="com.mysql.jdbc.Driver";

//连接地址是由各个数据库生产商单独提供的,所以需要单独记住

publicstaticfinalStringDBURL="jdbc:

mysql:

//localhost:

3306/test";

//连接数据库的用户名

publicstaticfinalStringDBUSER="root";

//连接数据库的密码

publicstaticfinalStringDBPASS="";

publicstaticvoidmain(String[]args)throwsException{

Connectioncon=null;//表示数据库的连接对象

Statementstmt=null;

Class.forName(DBDRIVER);//1、使用CLASS类加载驱动程序

con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);//2、连接数据库

stmt=con.createStatement();//3、Statement接口需要通过Connection接口进行实例化操作

stmt.executeUpdate("insertintojava_study.personvalues(\'Tom\',20,\'SH\')");//执行SQL语句,插入、更新、删除数据

stmt.executeUpdate("updatejava_study.personsetname='Jery'whereage=20");

stmt.executeUpdate("deletefromjava_study.personwhereage=20");

con.close();//4、关闭数据库

}

}

数据库查询操作

通过SELECT语句,可以查询数据中的内容,在mysql中直接查询的时候可以发现将返回全部的查询结果给用户看,那么对于程序的操作中也是一样的,所有的查询结果要返回到程序处进行输出查看,那么程序通过ResultSet接口保存全部的查询结果,通过Statement接口中的executeQuery()方法查询。

查询之后的数据需要分别的取出。

通过next()方法找到返回的每一行数据,每一行中各个列的数据需要通过getXxx()方法取得,例如:

取得整型:

getInt()

取得字符串:

getString()

取得日期:

getDate()

取得小数:

getFloat()

packageorg.querydemo;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.Statement;

publicclassQueryDemo{

/**

*@paramargs

*/

//驱动程序就是之前在classpath中配置的JDBC的驱动程序的JAR包中

publicstaticfinalStringDBDRIVER="com.mysql.jdbc.Driver";

//连接地址是由各个数据库生产商单独提供的,所以需要单独记住

publicstaticfinalStringDBURL="jdbc:

mysql:

//localhost:

3306/test";

//连接数据库的用户名

publicstaticfinalStringDBUSER="root";

//连接数据库的密码

publicstaticfinalStringDBPASS="";

publicstaticvoidmain(String[]args)throwsException{

Connectioncon=null;//表示数据库的连接对象

Statementstmt=null;//表示数据库的更新操作

ResultSetresult=null;//表示接收数据库的查询结果

Class.forName(DBDRIVER);//1、使用CLASS类加载驱动程序

con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);//2、连接数据库

stmt=con.createStatement();//3、Statement接口需要通过Connection接口进行实例化操作

result=stmt.executeQuery("selectname,age,addressfromjava_study.person");//执行SQL语句,查询数据库

while(result.next()){

Stringname=result.getString("name");

intage=result.getInt("age");

Stringaddress=result.getString("address");

System.out.println(name+age+address);

}

result.close();

con.close();//4、关闭数据库

}

}

PreparedStatement

此接口是在实际的开发中使用最广泛的一个操作接口,此接口是Statement接口的子接口,采用预处理的方式完成

完成增加操作

packageorg.preparedstatementdemo;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.util.Date;

publicclassPreparedStatementDemo{

/**

*@paramargs

*/

publicstaticfinalStringDBDRIVER="com.mysql.jdbc.Driver";

//连接地址是由各个数据库生产商单独提供的,所以需要单独记住

publicstaticfinalStringDBURL="jdbc:

mysql:

//localhost:

3306/test";

//连接数据库的用户名

publicstaticfinalStringDBUSER="root";

//连接数据库的密码

publicstaticfinalStringDBPASS="";

publicstaticvoidmain(String[]args)throwsException{

//TODOAuto-generatedmethodstub

Connectioncon=null;//表示数据库的连接对象

PreparedStatementpstmt=null;//表示数据库更新操作

Stringname="Tom";

intage=20;

Datedate=newDate();

Stringsql="insertintojava_study.personvalues(?

?

?

)";

Class.forName(DBDRIVER);//1、使用CLASS类加载驱动程序

System.out.println(sql);

con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);//2、连接数据库

pstmt=con.prepareStatement(sql);//使用预处理的方式创建对象

pstmt.setString(1,name);//第一个?

号的内容

pstmt.setInt(2,age);//第二个?

号的内容

pstmt.setDate(3,newjava.sql.Date(date.getTime()));

pstmt.executeUpdate();//执行SQL语句,更新数据库

pstmt.close();

con.close();//4、关闭数据库

}

}

完成模糊操作

模糊查询要使用LIKE语句,那么LIKE语句需要使用%进行匹配

packageorg.preparedstatementquery;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.util.Date;

publicclassPreparedStatementQuery{

/**

*@paramargs

*/

//TODOAuto-generatedmethodstub

publicstaticfinalStringDBDRIVER="com.mysql.jdbc.Driver";

//连接地址是由各个数据库生产商单独提供的,所以需要单独记住

publicstaticfinalStringDBURL="jdbc:

mysql:

//localhost:

3306/test";

//连接数据库的用户名

publicstaticfinalStringDBUSER="root";

//连接数据库的密码

publicstaticfinalStringDBPASS="";

publicstaticvoidmain(String[]args)throwsException{

Connectioncon=null;//表示数据库的连接对象

PreparedStatementpstmt=null;//表示数据库更新操作

ResultSetresult=null;

Stringlike_name="Tom1";

intlike_age=12;

Stringsql="selectname,age,birthdayfromjava_study.personwherenamelike?

orage=?

";

Class.forName(DBDRIVER);//1、使用CLASS类加载驱动程序

System.out.println(sql);

con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);//2、连接数据库

pstmt=con.prepareStatement(sql);//使用预处理的方式创建对象

pstmt.setString(1,"%"+like_name+"%");

pstmt.setInt(2,like_age);

result=pstmt.executeQuery();//执行SQL语句,更新数据库

while(result.next()){

Stringname=result.getString("name");

intage=result.getInt("age");

Datedate=result.getDate("birthday");

System.out.println(name+","+age+","+date);

}

result.close();pstmt.close();con.close();//4、关闭数据库}}



批处理

批处理,多条SQL语句可以一次性执行完毕,称为批处理操作


packageorg.addbetchdemo;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.util.Date;

publicclassAddDetchDemo{

/**

*@paramargs

*/

publicstaticfinalStringDBDRIVER="com.mysql.jdbc.Driver";

//连接地址是由各个数据库生产商单独提供的,所以需要单独记住

publicstaticfinalStringDBURL="jdbc:

mysql:

//localhost:

3306/test";

//连接数据库的用户名

publicstaticfinalStringDBUSER="root";

//连接数据库的密码

publicstaticfinalStringDBPASS="";

publicstaticvoidmain(String[]args)throwsException{

//TODOAuto-generatedmethodstub

Connectioncon=null;//表示数据库的连接对象

PreparedStatementpstmt=null;//表示数据库更新操作

Stringsql="insertintojava_study.personvalues(?

?

?

)";

Class.forName(DBDRIVER);//1、使用CLASS类加载驱动程序

System.out.println(sql);

con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);//2、连接数据库

pstmt=con.prepareStatement(sql);//使用预处理的方式创建对象

for(inti=0;i<10;i++){

pstmt.setString(1,"org"+i);//第一个?

号的内容

pstmt.setInt(2,i);//第二个?

号的内容

pstmt.setDate(3,newjava.sql.Date(newjava.util.Date().getTime()));

pstmt.addBatch();

}

int[]i=pstmt.executeBatch();//执行SQL语句,更新数据库

System.out.println(i);

pstmt.close();

con.close();//4、关闭数据库

}

}


事务处理

通过设置connection的autocommit(false)提交事务mit();回滚事务con.rollback()

packageorg.transactiondemo;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.Statement;

publicclassTransactionDemo{

/**

*@paramargs

*/

//驱动程序就是之前在classpath中配置的JDBC的驱动程序的JAR包中

publicstaticfinalStringDBDRIVER="com.mysql.jdbc.Driver";

//连接地址是由各个数据库生产商单独提供的,所以需要单独记住

publicstaticfinalStringDBURL="jdbc:

mysql:

//localhost:

3306/test";

//连接数据库的用户名

publicstaticfinalStringDBUSER="root";

//连接数据库的密码

publicstaticfinalStringDBPASS="";

publicstaticvoidmain(String[]args)throwsException{

//TODOAuto-generatedmethodstub

Connectioncon=null;//表示数据库的连接对象

Statementstmt=null;

Class.forName(DBDRIVER);//1、使用CLASS类加载驱动程序

con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);//2、连接数据库

con.setAutoCommit(false);

stmt=con.createStatement();//3、Statement接口需要通过Conn

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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