博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第九周学习总结
阅读量:7061 次
发布时间:2019-06-28

本文共 1691 字,大约阅读时间需要 5 分钟。

•JDBC全名Java DataBase Connectivity,是java联机数据库的标准规范。它定义一组标准类与接口,应用程序需要联机数据库时调用这组标准API。

•JDBC标准:JDBC应用程序开发者接口和JDBC驱动程序开发者接口。

•应用程序使用JDBC联机数据库:

·Connection conn = DriverManager.getConnection(...);
·Statement st = conn.createStatement();
·ResultSet rs = st.executeQuesry(...);

连接数据库

•要连接数据库系统,必须要有厂商操作的JDBC驱动程序,必须在CLASSPATH中设定驱动程序JAR文档。

•操作Driver接口的对象是JDBC进行数据库存取的起点。connection接口的操作对象是数据库联机代表对象,要取得Connection操作对象,可以通过DriverManager的getConnection():

Connection conn = DriverManager.getConnection(jdbcUrl, username, passwd);

•在操作完数据库之后,若确定不再需要连接,则必须使用close()来关闭与数据库的连接,以释放连接时相关的必要资源,像是联机相关对象、授权资源等。

使用Statement、ResultSet

•要执行SQL的话,必须取得java.sql.Statement操作对象。可使用Connection的createStatement()建立Statement对象。

•Statement的execute()用来执行SQL,并可以测试SQL是执行查询或更新,返回true表示SQL执行将返回ResultSet作为查询结果。

•Resultset的next()可通过返回true或者false表示是否有下一笔数据。

使用PreparedStatement、CallableStatement

•使用Connection的prepareStatement()方法建立好预先编译的SQL语句,当中参数会变动的部分先指定“?”这个占位字符。PrepareStatement stmt = conn.prepareStatement("INSERT INTO t_message VALUES(?, ?, ?, ?)");

•等到需要真正指定参数执行时,再使用相对应的setInt()、setString()等方法,指定“?”处真正应该有的参数。例如:

stmt.setInt(1,2);
stmt.setString(2,"momor");
stmt.executeUpdate();

JDBC进阶

使用DataSource取得联机

•当MessageDAO的用户无法告知DriverManager有关JDBC URL、用户名称、密码等信息时,可以让MessageDAO依赖于javax.sql.DataSource接口,通过其定义的getConnection()方法取得Connection。

使用ResultSet卷动、更新数据

•在ResultSet时,默认可以使用next()移动数据光标至下一笔数据,然后使用getxxx()方法来取得数据。

•ResultSet可以使用previous()、first()、last()等方法前后移动数据光标,还可以调用updatexxx()、updateRow()等方法进行数据修改。

•结果集类型3种设定:

ResultSet.TYPE_FORWARD_ONLY(默认)(只能前进数据光标)
ResultSet.TYPE_SCROLL_INSENSITIVE(前后移动数据光标)
ResultSet.TYPE_SCROLL_SENSITIVE(前后移动数据光标,反映数据库中的数据修改)

•更新设定的2种设定:

转载于:https://www.cnblogs.com/qm20165239/p/8972181.html

你可能感兴趣的文章
Django学习(五) 定义视图以及页面模板
查看>>
关于pycharm中导入自己写的模块没有智能提示的解决办法
查看>>
【转载】K-means聚类算法
查看>>
debian系统下安装ssh
查看>>
C++内联函数、函数模板之于头文件
查看>>
MAVEN学习笔记之基础(1)
查看>>
input type=file 怎么样调取用户手机照相机
查看>>
iOS LaunchImage快速设置
查看>>
海量数据面试题----分而治之/hash映射 + hash统计 + 堆/快速/归并排序
查看>>
左神算法进阶班4_1画出楼的轮廓
查看>>
力扣算法题—072编辑距离
查看>>
MySQL(数据库)
查看>>
gulp在webstorm里运行,告别cmd控制台!
查看>>
BIG biang教你误删oracle 怎么办,
查看>>
1.1 面试问题整理
查看>>
像素PX厘米转换
查看>>
Activity_liftCycle — 生命周期
查看>>
一种效率比较高的分页存储过程
查看>>
多线程面试
查看>>
redis_基础_将redis设置后台启动以及关闭
查看>>