DAO模式及单例模式

DAO模式

Java三层模型是哪三层?分别的作用?
	dao:于数据库的交互,实现对持久化数据的访问
	service:负责业务逻辑判断
	controller:负责前后台数据交互

DAO:
	1、Data Access Object(数据存取对象) 
	2、位于业务逻辑和持久化数据之间 
	3、实现对持久化数据的访问

在这里插入图片描述

注:DAO起着转换器的作用,将数据在实体类和数据库记录之间进行转换

DAO模式的组成:
1、DAO模式的组成部分
    a)DAO接口 
    b)DAO实现类 
    c)实体类 
    d)数据库连接和关闭工具类  
2、优势 
    a)隔离了数据访问代码和业务逻辑代码 
    b)隔离了不同数据库实现

在这里插入图片描述

配置数据库访问参数:
1、弊端
    数据库发生改变时,要重新修改代码,重新编译和部署 
2、解决 
    将数据库信息写在配置文件当中,让程序通过读取配置文件来获得这些信息

属性文件:
	1、后缀为.properties
	2、数据格式为“键=值” 
	3、使用“#”来注释
	4、Java中提供了Properties类来读取配置文件

在这里插入图片描述

单例模式

1、系统运行期间,有且仅有一个实例
	a) 一个类只有一个实例——最基本的要求 
    	只提供私有构造器 
	b)它必须自行创建这个实例 
    	定义了静态的该类私有对象 
	c)它必须自行向整个系统提供这个实例 
    	提供一个静态的公有方法,返回创建或者获取本身的静态私有对象

懒汉模式:
在类加载时不创建实例,采用延迟加载的方式,在运行调用时创建实例
特点:
    1、线程不安全 
    2、延迟加载(lazy loading) 
	如何解决线程安全问题? 
	同步(synchronized)

饿汉模式:
在类加载的时候,就完成初始化
特点: 
    1、线程安全 
    2、不具备延迟加载特性

在这里插入图片描述

  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值