java数据库网关_表数据网关模式

此模式属于数据源架构模式  目录,此目录属于  企业应用程序体系结构模式。

目的

充当数据库表的网关的对象。一个实例处理表中的所有行。

这里Gateway表示  封装对外部系统或资源的访问的对象。

说明

1.Table Data Gateway保存用于访问单个表或视图的所有SQL:选择,插入,更新和删除。其他代码调用其方法进行与数据库的所有交互。表网关的想法是为每个数据库表提供一个网关类。

2.在应用程序逻辑中混合使用SQL可能会导致多个问题,因此Table Data Gateway模式将SQL查询与代码分开。

如何运作

一个表数据网关有一个简单的界面,通常由几个查找方法来从数据库获取和更新,插入数据和删除的方法。每种方法都将输入参数映射到SQL调用中,并针对数据库连接执行SQL。表数据网关通常是无状态的,因为它的作用是来回推送数据。

表数据网关模式将SQL查询与源代码分离。

何时使用它

1.表数据网关可能是最简单的数据库接口模式,因为它可以很好地映射到数据库表或记录类型上。它也很自然地封装了数据源的精确访问逻辑。我最少使用Domain Model,因为Data Mapper在域模型和数据库之间提供了更好的隔离。

2.为了使用表数据网关,您将为数据库中的每个表创建一个。但是,对于非常简单的情况,您可以使用单个表数据网关来处理所有表的所有方法。

3.使用表数据网关封装数据库访问的一个好处是,相同的接口既可以用于使用SQL来操作数据库,也可以用于使用存储过程。

示例代码

让我们为PersonGateway的示例代码创建一个类图,以演示这种模式。

anZFLY7fBBwc1RMDYEhM+FaZC6a1nMVQJLMHypiKWPb7zdndYftgr+A0kbpbJJpRFGAAAAAElFTkSuQmCC

第1步:创建域模型或POJO类。

public class Person{

private int id;

private String firstName;

private String lastName;

private String gender;

private int age;

// Getter and Setter methods}

步骤2:创建一个Person Gateway 类,其中包含用于访问单个表或视图的所有SQL:选择,插入,更新和删除。其他代码调用其方法进行与数据库的所有交互。

public class PersonGateWay{

public RecordSet find(int id){

// find person record by id.}

public RecordSet findByFirstName(){// find person by first name.}

public void update(String firstName, String lastName, String age){// Update person entity.}

public void insert(String firstName, String lastName, String gender,String age){// insert person entity.}

public void delete(int id){// Delete person record by id from database.}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值