IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 方法中finally返回null -> 正文阅读

[大数据]方法中finally返回null

方法中finally返回null

记录一个学习IDEA操作数据库中遇到的小bug

finally中有return null 那么前面返回的数据或对象就会变成null

方法:

package?dao.impl;

import?bean.Student;
import?bean.Teacher;
import?dao.TeacherDao;

import?java.sql.*;
import?java.util.ArrayList;
import?java.util.List;

public?class?TeacherDaoImpl?implements?TeacherDao?{


????@Override
????public?Teacher?getById(int?id)?{

????????Connection?connection?=?null;
????????PreparedStatement?pps?=?null;
????????ResultSet?resultSet?=?null;
????????try?{
????????????//1.加载驱动
????????????Class.forName("com.mysql.cj.jdbc.Driver");
????????????//2.获得链接
????????????String?userName?=?"root";
????????????String?password?=?"123456";
????????????String?url?=?"jdbc:mysql://localhost:3306/yhp2?serverTimezone=UTC";
????????????connection?=?DriverManager.getConnection(url,?userName,?password);
????????????//3.定义sql,创建状态通道(进行sql语句的发送)
????????????String?sql?=?"select?*?from?student?s,teacher?t?where?s.teacherid=t.teacherid?and?s.teacherid=?";
????????????pps?=?connection.prepareStatement(sql);
????????????pps.setInt(1,?id);

????????????//4.取出结果集信息
????????????/*while?(resultSet.next()){???//判断是否有下一条数据
????????????????//取出数据:?resultSet.getXXX("列明")?XXX是数据类型
????????????????System.out.println(resultSet.getString("name")+"的职称是"+resultSet.getString("title"));

????????????}*/
????????????List<Student>?students?=?new?ArrayList<>();
????????????Teacher?teacher?=?new?Teacher();
????????????resultSet?=?pps.executeQuery();
????????????while?(resultSet.next())?{
????????????????//1.获得教师信息
????????????????teacher.settName(resultSet.getString("tname"));
????????????????teacher.setTeacherId(resultSet.getInt("teacherid"));

????????????????//2.获得学生信息
????????????????Student?student?=?new?Student();
????????????????student.setStuName(resultSet.getString("stuname"));
????????????????student.setStuId(resultSet.getInt("stuid"));

????????????????students.add(student);
????????????}
????????????teacher.setStudents(students);
????????????return?teacher;
????????}?catch?(ClassNotFoundException?e)?{
????????????e.printStackTrace();
????????}?catch?(SQLException?throwables)?{
????????????throwables.printStackTrace();
????????}?finally?{
????????????try?{
????????????????if?(connection?!=?null)?{
????????????????????connection.close();
????????????????}
????????????????if?(pps?!=?null)?{
????????????????????pps.close();
????????????????}
????????????????/*if?(resultSet?!=?null)?{
????????????????????resultSet.close();
????????????????}*/
????????????}?catch?(SQLException?throwables)?{
????????????????throwables.printStackTrace();
????????????}
???????????//return?null;
???????????//开始我的null在这的,测试的时候一直找不到bug,把方法的里代码放到新的Demo里发没问题,应该是方法不知道怎么返回了null,就找到了这个问题
????????}
????????return?null;
????}
}

测试方法

package?com;

import?bean.Student;
import?bean.Teacher;
import?dao.impl.TeacherDaoImpl;

public?class?Demo6?{
????public?static?void?main(String[]?args)?{
????????TeacherDaoImpl?dao?=?new?TeacherDaoImpl();
????????Teacher?teacher?=?dao.getById(2);
????????if?(teacher?==?null)?{
????????????System.out.println("没有这个教师");
????????????return;
????????}
????????System.out.println(teacher.gettName());
????????for(Student?s?:?teacher.getStudents()){
????????????System.out.println(s.getStuName());
????????}

????}
}
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 11:50:45  更:2021-09-09 11:52:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:51:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码