day17-jdbc 8.ResultSet介绍





但是这些东西在mysql那里有问题。mysql的驱动不是很完善。getClob()、getBlob()不好使不是因为程序的问题,而是因为mysql驱动的问题,oracle驱动就没有这个问题,证明oracle比mysql高级。类型匹配没问题有这种方案,但是mysql不支持。

做注册登录的时候,表单里面有用户名和密码,一提交,提交到servlet,servlet拿到了,拿着用户名和密码上数据库查那个用户,这个sql语句执行完返回几条记录?必须得返回一条吧,不可能有两个人重名吧。
在遍历结果集时要使用if不要再使用while,而那个while是结果集里面有多条的时候。
package cn.itcast.jdbc;
import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
//ResultSet介绍
public class JdbcDemo4 {
public static void main(String[] args) throws SQLException, ClassNotFoundException { //1.注册驱动
Class.forName("com.mysql.jdbc.Driver");//优点是加载一次 替换registerDriver()这个方法 这个不耦合,根本就没用mysql驱动的东西 不是意味着那就不用驱动了,只是不依赖jar包 String url = "jdbc:mysql:///day17"; //2.获取连接对象
Connection con = (Connection) DriverManager.getConnection(url, "root", ""); //3.通过连接对象获取操作sql语句的Statement
Statement st = con.createStatement();
//4.操作sql语句
String sql = "select * from user";
ResultSet rs = st.executeQuery(sql);//ResultSet就是查询的结果,可以想象成是集合,但是它不是集合 //5.遍历结果集 while(rs.next()){
//int id = rs.getInt("id");
String id = rs.getString("id");
String username = rs.getString("username");
String password = rs.getString("password");
String email = rs.getString("email");
System.out.println(id+" "+username+" "+password+" "+email);
} //6.释放资源
rs.close();//结果集得关
st.close();
con.close();
//直接把con关闭了,数据库和程序断开了。但是statement和resultset没有及时释放,它还在内存存着。close()是释放和回收资源。
//close()的顺序和进门出门是一样的,是进门的时候先进大门,出门的时候是最后才出大门
//=============
//Java可以操作数据库
}
}
day17-jdbc 8.ResultSet介绍的更多相关文章
- 学习日常笔记<day17>jdbc基础
1.jdbc入门 1.1.jdbc定义 使用java代码发送sql语句的技术就是jdbc技术 1.2.使用jdbc发送sql前提 需要登录数据库服务器(数据库的IP地址,端口,数据库用户名,密码) / ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 超全面的JavaWeb笔记day17<JDBC>
1.JDBC的原理 是由JavaEE提供的连接数据库的规范 需要由各大数据库的厂商提供对JDBC的实现类 2.四大核心类 3.四大参数 driverClassName url username pas ...
- 深入浅出MyBatis:JDBC和MyBatis介绍
JDBC相关概念 Java程序都是通过JDBC连接数据库的,通过SQL对数据库编程,JDBC是由SUN公司提出的一些列规范,只定义了接口规范,具体实现由各个数据库厂商去实现,它是一种典型的桥接模式. ...
- ResultSet指针回到初始位置的方法及ResultSet介绍
原文地址: https://blog.csdn.net/walkerjong/article/details/7023872 仅供学习参考使用. 结果集(ResultSet)是数据中查询结果返回的一种 ...
- MyBatis源码分析(一):从JDBC到MyBatis 介绍MyBatis的背景,为什么要用MyBatis
一.介绍JDBC JDBC全称Java Database Connectivity,是Java语言规范客户端访问数据库的应用程序接口,所面向的数据库类型为关系型数据库. JDBC的三层架构图: JDB ...
- JDBC用ResultSet访问大量数据时会遇到的问题
我们经常需要JDBC来对数据库就行操作,一般流程为连接数据库.通过sql语句把需要的数据取出来保存到ResultSet,然后调用ResultSet方法的类似 getString,getInt()等方法 ...
- JDBC之ResultSet
ResultSet is a interface More gnerally,ResultSet is a class involves a table returned by executeQuer ...
- Mysql——JDBC编程 理论介绍
一.JDBC简介(来自俞琰--数据库老师) Java数据库编程主要使用JDBC技术.JDBC是一种用于执行SQL语句的Java API.它由一组用Java编写的类和接口组成.JDBC为开发人员提供了一 ...
随机推荐
- 20个PHP面试题及答案
php学了那么久了,先来小试牛刀,看下这些PHP程序员面试题都会不会?初级题目1.问题:请用最简单的语言描述PHP是什么?答:PHP全称:Hypertext Preprocessor,是一种用来开发动 ...
- hdu 3401 单调队列优化+dp
http://acm.hdu.edu.cn/showproblem.php?pid=3401 Trade Time Limit: 2000/1000 MS (Java/Others) Memor ...
- cassandra集群环境搭建——注意seeds节点,DHT p2p集群管理难道初始化都应如此吗?
解压cassandra的安装包后可以查看主要的配置文件,都在conf/目录下,conf/cassandra.yaml比较重要,其中需要着重注意的有以下一些配置项: cluster_name: 'TC0 ...
- 32 python 并发编程之协程
一 引子 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去 ...
- 201621123014《Java程序设计》第十四周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 2. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造你的系统.要建立什么表?截图你的表设计. 答 ...
- Express+Mongoose(MongoDB)+Vue2全栈微信商城项目全记录(一)
最近用vue2做了一个微信商城项目,因为做的比较仓促,所以一边写一下整个流程,一边稍做优化. 项目github地址:https://github.com/seven9115/vue-fullstack ...
- javascript之面试题精讲
from:http://blog.csdn.net/q121516340/article/details/51332454 1,检测数组的几种方式: Array.isArray(); es5 toSt ...
- vue切换样式
在vue中使用事件来切换绑定的class样式,在vue-cli脚手架中的Home.vue中 <template> <div id="main"> <l ...
- 学习动态性能表(13)--v$open_cursor
学习动态性能表 第13篇--V$OPEN_CURSOR 2007.6.8 本视图列出session打开的所有cursors,很多时候都将被用到,比如:你可以通过它查看各个session打开的curs ...
- DOM对象和JQuery对象互转
实现点击某一个单元格,将单元格内部的sql提交执行: <td onclick="submitSqlExecute(this)">...<span>${ctx ...