分享第二十条励志语句
宁可自信,也不要盲目悲观。因为自信是一种力量,即使你的自信有些盲目,也无关大局,你可以在实践中调整心态,找到自己的恰当的位置。如果盲目自卑,你就必然失去一切。
目录
分享第二十条励志语句
1 接收结果集
2 遍历ResultSet结果集中的数据
2.1 常用遍历方法
3 综合案例
3.1 根据列的编号获取数据
3.2 根据列的名称获取数据
二、JDBC常见异常
JDBC中执行DQL查询语句后,使用ResultSet存放查询到的结果集数据。
1 接收结果集
ResultSet resultSet = statement.executeQuery(String sql);
//编写SQL语句 String sql = "SELECT * FROM stu;"; //执行SQL语句 ResultSet resultSet=statement.executeQuery(sql);
2 遍历ResultSet结果集中的数据
ResultSet以表(table)结构进行临时结果的存储,需要通过JDBC API将其中的数据依次获取。
数据行指针:初始位置在第一行数据前,每调用一次boolean next()方法ResultSet的指针向下移动一行,结果为true,表示当前行有数据。
-
resultSet.getXxx(int columnIndex):根据列的编号顺序获取表中字段的数据,编号从1开始,Xxx表示字段类型。
-
resultSet.getXxx(String columnLabel):根据列的名称获取表中字段的数据。
//5、对返回的结果进行处理,需要将集合中的数据一个一个的遍历出来 //next()判断集合中是否存在数据,如果存在数据返回true,如果不存在元素返回false while(resultSet.next()){ //取出元素 String sid =resultSet.getString(1); String sname =resultSet.getString(2); int age =resultSet.getInt(3); String gender = resultSet.getString(4); System.out.println(sid+"-"+sname+"-"+age+"-"+gender); }
2.1 常用遍历方法
-
int getInt(int columnIndex) throws SQLException //获得当前行第N列的int值
-
int getInt(String columnLabel) throws SQLException //获得当前行名为cloumnLabel列的int值
-
int getDouble(int columnIndex) throws SQLException //获得当前行第N列的double值
-
int getDouble(String columnLabel) throws SQLException //获得当前行名为cloumnLabel列的double值
-
int getString(int columnIndex) throws SQLException //获得当前行第N列的String值
-
int getString(String columnLabel) throws SQLException //获得当前行名为cloumnLabel列的String值
3 综合案例
查询stu表中的所有数据并遍历显示
3.1 根据列的编号获取数据
package cn.bdqn.demo01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SelectJDBCByIndex {
public static void main(String[] args) {
try {
// 1、注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 2、获取连接对象
String url = "jdbc:mysql://127.0.0.1:3306/java221804";
String user = "root";
String password = "*****";
Connection connection = DriverManager.getConnection(url, user,password);
// 3、获取发送SQL语句的对象
Statement statement = connection.createStatement();
// 编写SQL语句
String sql = "SELECT * FROM stu;";
// 4、执行SQL语句
ResultSet resultSet = statement.executeQuery(sql);
// 5、对返回的结果进行处理,需要将集合中的数据一个一个的遍历出来
// next()判断集合中是否存在数据,如果存在数据返回true,如果不存在元素返回false
while (resultSet.next()) {
// 取出元素
String sid = resultSet.getString(1);
String sname = resultSet.getString(2);
int age = resultSet.getInt(3);
String gender = resultSet.getString(4);
System.out.println(sid + "-" + sname + "-" + age + "-" + gender);
}
// 6、关闭资源:先开后关,后开先关
statement.close();
connection.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
3.2 根据列的名称获取数据
package cn.bdqn.demo01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SelectJDBCByColumnName {
public static void main(String[] args) {
try {
// 1、注册驱动
Class.forName("com.mysql.jdbc.Driver");// 这个地方Driver后面不要写.class
// 2、获取连接对象
String url = "jdbc:mysql://127.0.0.1:3306/java221804";
String user = "root";
String password = "*****";
Connection connection = DriverManager.getConnection(url, user,password);
// 3、获取发送SQL语句的对象
Statement statement = connection.createStatement();
// 编写SQL语句
String sql = "SELECT * FROM stu;";
// 5、执行SQL语句
ResultSet resultSet = statement.executeQuery(sql);
// 6、对返回的结果进行处理,需要将集合中的数据一个一个的遍历出来
// next()判断集合中是否存在数据,如果存在数据返回true,如果不存在元素返回false
while (resultSet.next()) {
// 取出元素
String sid = resultSet.getString("sid");
String sname = resultSet.getString("sname");
int age = resultSet.getInt("age");
String gender = resultSet.getString("gender");
System.out.println(sid + "-" + sname + "-" + age + "-" + gender);
}
// 7、关闭资源:先开后关,后开先关
statement.close();
connection.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
二、JDBC常见异常
-
java.lang.ClassNotFoundException:找不到类(类名书写错误、没有导入jar包)
-
java.sql.SQLException:与SQL语句相关的异常(约束错误、表名列名字段名书写错误),建议:在客户端工具中测试SQL语句正确后再复制到代码中
-
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Unknown column原因:列值String类型没有加单引号
-
Duplicate entry '1' for key 'PRIMARY'原因,主键值已经存在或混乱,更改主键值或清空表
-
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Unknown column 'password' in原因:可能输入的值类型不对,确定是否插入的元素是对应的值的类型正确
今天的分享就到此结束了
创作不易点赞评论互关三连