throws

[Java] DAO设计模式

无人久伴 提交于 2020-03-14 12:40:55
背景 B/S(Browser/Server):浏览器/服务器架构,用于广域网 C/S(Client/Server):客户机/服务器架构,用于局域网 业务分析 前端 控制层 调用业务层 业务层(Business Object BO) 调用数据层实现业务操作 业务层需要明确地知道数据层的操作方法,但不需要知道它的具体实现 使用代理模式(动态代理)进行业务控制,Sprint、Struct框架中会提供 定义操作协议(接口) 定义业务实现类,控制数据库的打开和关闭,取得数据层接口对象,调用数据层操作 定义业务工厂类,用于供控制层实例化,隐藏具体实现 数据层(Data Access Object DAO,持久层) 把具体的业务“翻译”成数据库的原子操作(增删改查) 定义接口,对业务层隐藏子类,一个数据表对应一个接口 定义简单Java类(POJO),对数据表中的数据进行包装,以便在不同层之间传递数据 定义实现类,一个类实现一个接口,类中一个方法实现一个具体的SQL操作 定义工厂类,用于其它层实例化接口对象,隐藏具体实现 数据库 实例 功能 连接mysql,为雇员表增加一行数据 项目结构 项目代码 数据库连接类 -- DatabaseConnection.java 1 package dbc; 2 3 import java.sql.Connection; 4 import java.sql

JAVA异常分类及处理

半世苍凉 提交于 2020-03-09 15:06:18
概念 如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下 会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用 这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。 分为三类:内存异常,检查时异常,运行时异常。 异常分类 Throwable 是 Java 语言中所有错误或异常的超类。下一层分为 Error 和 Exception Error 1. Error 类是指 java 运行时系统的内部错误和资源耗尽错误。应用程序不会抛出该类对象。如果 出现了这样的错误,除了告知用户,剩下的就是尽力使程序安全的终止。 Exception ( RuntimeException、CheckedException ) 2. Exception 又 有 两 个 分 支 , 一 个 是 运 行 时 异 常 RuntimeException , 一 个 是 CheckedException。 一个是运行时异常:RuntimeException 如 : NullPointerException 、 ClassCastException ; 一 个 是 检 查 异 常CheckedException,如 I/O 错误导致的 IOException、SQLException。 RuntimeException 是 那些可能在

Java异常详解

可紊 提交于 2020-03-09 14:20:21
一、异常分类 1.Java 标准库内建了一些通用的异常,这些类以 Throwable 为顶层父类 。 Throwable 又派生出 Error 类和 Exception 类 。 错误 :Error 类以及他的子类的实例,代表了 JVM 本身的错误。错误不能被程序员通过代码处理,Error 很少出现。因此,程序员应该关注 Exception 为父类的分支下的各种异常类。 异常 :Exception 以及他的子类,代表程序运行时发送的各种不期望发生的事件。可以被 Java 异常处理机制使用,是异常处理的核心。 异常与错误的区别是: 异常可以通过程序自身捕捉处理,而错误是程序自身无法处理的 。 2.Java 异常包括 Exception 类和 Error 类,其可分为可查异常和不可查异常: 可查异常 : 编译器要求必须处理的异常 , 这类异常的发生在一定程度上是可以预计的 ,而且这类异常一旦发生,就必须采用某种方式进行处理。 除了RuntimeException及其子类以外的其它异常类都属于可查异常。这种异常的特点是Java编译器会检查它,也就是说,出现这种异常,要么用try-catch语句捕捉它,要么用throws语句声明抛出它,否则编译不通过。 不可查异常 :编译器不要求强制处理的异常,包括 运行时异常(RuntimeException与其子类)和错误(Error) 。 3

设计模式--静态代理

ⅰ亾dé卋堺 提交于 2020-03-07 10:25:42
package designpattern.staticagent; import java.sql.*; import java.util.Map; import java.util.Properties; import java.util.concurrent.Executor; /** * 静态代理 */ public class MyConnecntion implements Connection { //注入mysql 或者oracle的connecntion的实现 private Connection connection; private boolean close=false; public void setClose(boolean close) { this.close = close; } @Override public Statement createStatement() throws SQLException { return connection.createStatement(); } @Override public PreparedStatement prepareStatement(String sql) throws SQLException { return connection.prepareStatement(sql); }

异常

时间秒杀一切 提交于 2020-03-05 23:09:51
异常概述与异常体系结构 异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。 (开发过程中的语法错误和逻辑错误不是异常) Java程序在执行过程中所发生的异常事件可分为两类: Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源 耗尽等严重情况。比如:StackOverflowError和OOM。一般不编写针对性 的代码进行处理。 Exception: 其它因编程错误或偶然的外在因素导致的一般性问题,可以使 用针对性的代码进行处理。例如: 空指针访问 试图读取不存在的文件 网络连接中断 数组角标越界 对于这些错误,一般有两种解决方法:一是遇到错误就终止程序 的运行。另一种方法是由程序员在编写程序时,就考虑到错误的 检测、错误消息的提示,以及错误的处理。 捕获错误最理想的是在编译期间,但有的错误只有在运行时才会发生。 比如:除数为0,数组下标越界等。 分类:编译时异常和运行时异常 运行时异常 是指编译器不要求强制处置的异常。一般是指编程时的逻辑错误,是程序 员应该积极避免其出现的异常。java.lang.RuntimeException类及它的子 类都是运行时异常 对于这类异常,可以不作处理,因为这类异常很普遍,若全处理可能会对 程序的可读性和运行效率产生影响。 编译时异常 是指编译器要求必须处置的异常。即程序在运行时由于外界因素造成的一 般性异常

0基础学java_异常

狂风中的少年 提交于 2020-03-05 07:02:25
异常 异常是导致程序中断运行的一种指令流。 举例:10÷0 1 package com.feimao.a1; 2 3 public class ExceptionDemo01 { 4 public static void main(String args[]){ 5 System.out.println("************程序开始*****************"); 6 int i = 10; 7 int j = 0; 8 try { 9 int temp = i / j; 10 System.out.println("两个数字i除以j的结果:" + temp); 11 }catch (ArithmeticException e){ 12 System.out.println("捕捉异常" + e); 13 } 14 System.out.println("************计算结束***************"); 15 16 } 17 } 当try代码块内的语句发生异常,其下面的所有语句将不再执行。跳转到相应的catch中捕获异常。对于异常可以统一使用finally作为统一出口。 举例:finally 1 package com.feimao.a1; 2 3 4 5 public class ExceptionDemo01 { 6 7 public

02_Java语音进阶||day05_异常,异常的处理,自定义异常,线程

≯℡__Kan透↙ 提交于 2020-03-04 06:04:14
第一章 异常 1.1 异常概念 异常: 就是不正常的意思(字面) 异常 :指的是程序在 执行过程中 ,出现的 非正常情况 ,最终会 导致JVM 的非正常停止。 在Java中, 异常本身就是一个类 ,产生异常就是创建异常对象并抛出了一个异常对象。Java的处理方式是 中断处理 注:异常指的 并不是语法错误 ,如果语法错了,编译不会通过,不会产生字节码文件,根本不能运行。 1.2 异常体系 异常的根类:java.lang. Throwable ,其中两个子类:java.lang. Error和java .lang. Exception【异常平时指它】 2. Throwable 体系: * Error :严重错误Error, 无法 通过 处理 的错误, 只能事先避让 ,比如: 绝症 * Exception :表示异常,异常产生后程序员可以通过代码的方式纠正,使程序继续运行,是必须要处理的,比如: 感冒,阑尾炎 * 注:留意一下RuntimeExcepition(Exception子类):运行期间抛出的异常 1.3 异常分类 java.lang. Throwable :类是 Java 语言中所有 错误或异常的超类 。 Exception:编译期异常【!】 ,进行编译(写代码)java程序出现的问题—— 我们就必须处理这个异常,要么throws或者try…catch【重点】

Java IO知识点

佐手、 提交于 2020-03-03 18:21:28
类型 Java中IO的输入输出定义了多个流类型 按程序的数据流方向氛围输入流和输出流。 按处理数据单位不同分为字节流(一次一个字节)和字符流(一次一个字符,两个字节)。 按功能不同分为节点流(直接从数据源读写)和处理流(连接在已存在的流之上)。 继承自 InputStream/OutputStream 的都是字节流 //InputStream int read ( ) throws IOException //读一个字节,末尾返回-1 int read ( byte [ ] buffer ) throws IOException //读取一系列字节存储到buffer数组中,返回读取到的字节数,到末尾返回-1 int read ( byte [ ] buffer, int offset , int length ) throws IOException //读取length个字节从offset开始 void close ( ) throws IOException //关闭流释放内存资源 //OutputStream void wtrte ( int b ) throws IOException //写一个字节 void wtrte ( byte [ ] b ) throws IOException //将字节数组中数据写入输出流 void write ( byte [ ] b ,

Java的异常捕捉(Exception)

我们两清 提交于 2020-03-01 16:30:55
异常的概念 :在Java当中 它是把所有异常信息封装起来 放在一个类里 当遇到异常时 会创建异常类对象 并且抛出 Exception和Error的区别: Exception :异常信息 - 发生异常的原因和位置 是可以处理的 处理完之后 程序是可以继续执行的 在编译 运行时期都可能发生 Error :必须修改源程序才能解决(有些问题修改了源程序也未必能解决) 只有在运行的时候发生 无法解决 什么能扔(抛出)? 任何继承了Throwable类的对象 Exception类默认继承了Throwable 因此可直接抛出: throw new Exception ( ) ; throw new Exception ( "help" ) ; 异常处理方式 方式1、throws 关键字 :只是在方法声明中标识一下 方式2、try…catch()…finally 1、throws手动抛出异常方式 什么时候用手动抛出异常:当我们写的方法给别人用时 并且方法声明中需要传参 为了进行 合法性判断 保证是我规范的参数类型 若出现不合乎规范的参数 需要进行 友好提示 这个时候需要手动抛出异常 在java中提供了关键字 throw 它用来抛出指定异常对象 封装一些提示信息(这些信息可以自己写) throw使用格式: throw new 异常类名 ( 参数列表 ) ; 注意: throw 必须写在 方法体内部

Java压缩解压(tar.gz)

馋奶兔 提交于 2020-02-29 14:21:28
package com.hxm.learn.util; import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream; import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream; import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream; import java.io.*; /** * @ClassName FileUtil * @Description {@link 'https://blog.csdn.net/u013066244/article/details/72783575'} * @Author hxm * @Date 2020-02-29 00:22 **/ public class FileUtil { /** * 归档