业务逻辑类

ASP.NET 创建业务逻辑层(BLL)类实现后端功能 通过按照上述步骤创建和实现BLL类,您可以在ASP.NET应用程序中实现后端功能,包括数据访问、业务规则验证和数据处理等。在ASP.NET应用程序中,业务逻辑层(BLL)起着关键的作用,它负责处理应用程序的业务逻辑和数据操作。完成BLL类的创建和实现后,我们可以在应用程序的其他部分使用它。希望本文能帮助您理解如何创建和实现ASP.NET中的BLL类,并在后端支持应用程序的功能。接下来,我们需要添加必要的引用,以便在BLL类中使用所需的命名空间和类。现在,我们可以在BLL类中实现后端功能。 阅读详情

DAO 层

DAO层数据连接对象

作用:将数据库中的数据转化为java的对象并返回(读数据)

           将java的对象转化为数据库中表的一条数据(写数据)

java对象在这里就是所谓的Entity

DAO  要达到的目的:将数据库的操作面向对象化


实体: 

    Student 表(id  name  age  sex)    这个是在数据库中形式;

    Student 类 属性   id, name ,age, sex   在java中的形式;

    用java中的类  来描述数据库中的表

实体类: 用于对应数据库中的表。通常实体类的名字和数据库中表的名字是一致的。

详细的参考文献http://baike.baidu.com/view/1300085.htm?fr=aladdin

  实体类<======> 表

      属性<======> 字段

     对象 <======> 一个记录   就是一条数据

1   DAO的制作 就是讲数据库中的数据转换为一个类详细代码如下

package day01pm.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import day01pm.entity.Student;

/**
 * DAO 数据连接对象
 * 
 * StudentDAO 用于操作数据库Student表
 * 
 * @author ssd
 *
 */

public class StudentDAO {
	/**
	 * 根据学生的姓名查询学生的信息
	 * @param name
	 * @return
	 */
	public Student findStudentByName(String name){
		Connection conn = null;
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl"
					,"scott"
					,"Shen2014");
			Statement state = conn.createStatement();
			String sql = "SELECT * FROM student WHERE name = '"+name+"'";
			/**
			 *根据用户名查询该用户的信息
			 *并将这条数据转化为一个Student对象返回
			 */
			ResultSet rs = state.executeQuery(sql);
			if(rs.next()){
				Student student = new Student();
				student.setId(rs.getString("id"));
				student.setName(rs.getString("name"));
				student.setAge(rs.getInt("age"));
				student.setSex(rs.getString("sex"));
				return student;
			}
		}catch (Exception e){
			e.printStackTrace();
		}finally{
			if(conn != null){
				try{
					conn.close();
				}catch(SQLException e){
					e.printStackTrace();
				}
				
			}
			
		}
		return null;
	}

}


2.定义一个Student类

package day01pm.entity;

import java.io.Serializable;

/**
 * 实体类Student
 * 该类描述数据库中Student 表
 * 其每一个实例都可以代表Student表的一行数据
 * 
 * 通常情况下实体都可以序列化的
 * 
 * @author ssd
 *
 */

public class Student implements Serializable{
	private static final long serialVersionUID = 1L;
	private String id;
	private String name;
	private int age;
	private String sex;

	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
}



3 定义服务   什么样的服务 (这里的服务是通过name打印其他的信息  如name age sex)

package day01pm;

import day01pm.dao.StudentDAO;
import day01pm.entity.Student;
/**
 * 业务逻辑类
 * @author ssd
 *
 */

public class StudentService {
	private StudentDAO studentDAO = new StudentDAO();
	public void reg(String name, int age, String sex){
		
	}
	public void findStudentByName(String name){
		//对用户输入的信息进行必要的判断
		if(name != null&&!"".equals(name)){
			//向DAO 获取学生信息
			Student student = studentDAO.findStudentByName(name);
			if(student != null){
				System.out.println("学生" +student.getName()+
						"年龄" +student.getAge()+
						"性别"+student.getSex());
			}else{
			System.out.println("查无此人!");
		    }
		}
	}

}

4 测试

package day01pm;
/**
 * 测试类
 * @author ssd
 *
 */
public class TestStudent {
	public static void main(String[] args){
		String studentName = "shendanlai";
		StudentService service = new StudentService();
		service.findStudentByName(studentName);
		
	}
	

}

测试结果

在eclipse中整体的布局


负责业务逻辑的类都必须实现这个接口 负责业务逻辑的类都必须实现这个接口,业务逻辑类BusinessImpl实现接口Business,BusinessImpl.java的示例代码如下: //******* Business.java************** public class BusinessImpl implement Business { private SaveData db; public void DiSaveDate (SaveData db) { this.db = db; } … //根据注入的存储类,存储数据 public void saveData() { … db.saveData(); … } } 编写测试类TestBusiness,TestBusiness.java的示例代码如下: //******* TestBusiness.java************** public class TestBusiness { private Business business = new BusinessImpl(); … //根据注入的存储类,存储数据 public void opraData() { … business. DiSaveDate (new XMLData()); business. saveData (); … } } 如果要完成依赖关系注入的对象,必须实现Business接口。 构造注入 构造注入是指在接受注入的类中定义一个构造方法,并在参数中定义需要注入的类。 (1)为了让类Business接受XMLData的注入,需要为它定义一个构造方法,来接受XMLData的注入。Business.java的示例代码如下: //******* Business.java************** public class Business { private SaveData db; public Business (SaveData db) { this.db = db; } … //根据注入的存储类,存储数据 public void saveData() { … db.saveData(); … } } (2)编写测试类TestBusiness,TestBusiness.java的示例代码如下: //******* TestBusiness.java************** public class TestBusiness { private Business business = new Business(new XMLData()); … //根据注入的存储类,存储数据 public void opraData() { … business. saveData (); … } } 即通过构造函数来完成依赖注入。 从前面对这三种依赖注入的方式中可以看出:其实所有的依赖注入都离不开抽象的支持,也就是说只有"面向接口编程",才能够实现依赖注入。 读者可能还会有疑惑:虽然具体的存储方式和业务逻辑无关了,可不是还要在调用业务逻辑的类里来改变具体的存储方式吗?这样一来,不是还要改代码吗?看起来面向接口编程也挺简单的,那Spring又为开发人员提供了哪些帮助呢?其实,Spring为开发人员提供了调用业务逻辑类的具体方式,也就是说,Spring不再需要开发人员编写调用具体调用业务逻辑的类,而是通过配置文档来实现对业务逻辑的调用,如果具体的存储方式发生了变化,开发人员只需要改变相应的配置文档即可。 立即下载

相关推荐

17【Protues单片机仿真】基于51单片机的太阳能智能谷物翻晒机器人

基于51单片机,避障,低于50CM报警,LED灯亮起,自动翻晒用光敏电阻,光照强度大,电机转动,相当于翻晒粮食,远程控制用按键代替,按下去电机就转动,相当于翻晒粮食,然后光照强度和超声波的距离都在LCD1602显示屏显示出来。

weixin_70360261的博客 1448

细说业务逻辑(一)

目录 1、我把业务逻辑丢了!——找回丢失的业务逻辑 2、细说业务逻辑 2.1、业务逻辑到底是什么 1、我把业务逻辑丢了!——找回丢失的业务逻辑 相信朋友们基本都是软件开发人员。不论身处什么职位,我们的工作都有一个共同的目标——制作软件产品。而所谓的软件产品,一定是在某个领域内去实现某些业务。如此看来,“业务逻辑”本应和“软件产品”是紧紧绑在一起的,没有业务逻辑,何来软件产品? 但是,我发现一个奇怪的现象,一说业务逻辑,很多人就无法形成清晰地印象。例如,经典的三层...

斜风细雨 4287

影刀rpa的使用一--读取excel表格数据并循环出每一项

1、全部展示2、运行结果展示之后可以按照各自的需求对excel中取出的数据进行处理。

qq_69268437的博客 1万+

什么是业务逻辑

 业务逻辑是相对于展示逻辑来说的,主要用在MVC模式中。 其中v代表view,也就是展示逻辑,相当于一个b/s结构系统的jsp部分,主要用于输入数据,显示结果等等,也就是界面部分。 m代表model,也就是业务逻辑,主要是做连接数据库,处理数据,数值计算等等,表达形式是javabean或者ejb。 c代表controller,也就是控制层,用于model层和view层的数据交互,它把view中(也

YC.PENG的专栏 2370

外设高级定时器互补输出带死区控制实验

外设高级定时器互补输出带死区控制实验

ff_juju的博客 1652

华为服务器RAID配置避坑指南:如何通过iBMC快速识别阵列卡型号并完成初始化

本文详细解析华为服务器RAID配置全流程,重点介绍通过iBMC快速识别阵列卡型号、硬盘健康诊断及RAID级别选择的场景化策略。提供从iBMC登录到缓存策略调优的实战技巧,帮助工程师避免常见配置陷阱,提升服务器存储系统性能和稳定性。

weixin_28475533的博客 490

购物车项目(四)——编写业务逻辑类

购物车项目(四)——编写业务逻辑类编写思路:1.获得所有的商品信息 2.根据商品编号获得商品资料 3.获取最近浏览的前五条商品信息 代码如下:package dao;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList;i

fordushao的博客 957

Windows11 下 Detectron2 的安装与配置全攻略

本文提供了在Windows11系统下安装和配置Detectron2的完整教程。详细介绍了从环境准备、创建虚拟环境、安装PyTorch与CUDA,到修改源码、编译安装以及运行验证Demo的全过程,帮助开发者克服Windows平台上的常见问题,成功部署这一强大的计算机视觉库。

weixin_29081703的博客 245

业务逻辑详解

不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑 比如让你实现一个功能,给你两个数,让你获取它的和,你所写的如何才能获得任意给定的两个数的和,这个程序实现过程即可成为业务逻辑处理。 “一个人了解的业务逻辑越多越细,他就是越好的需求分析师。” 难题:什么是业务逻辑? 业务是指一个实体单元向另一个实体单元提供的服务。 逻辑是指

白及 4万+

保姆级教程:在RV1126开发板上跑通YOLOv5口罩检测(从数据集到摄像头实时识别)

本文提供了一份详细的RV1126开发板部署YOLOv5口罩检测系统的全流程指南,涵盖数据集准备、模型训练优化、边缘部署及实时摄像头识别等关键步骤。重点解析了RV1126开发板的性能特征、YOLOv5模型训练调优技巧、RKNN模型转换量化策略,以及部署过程中的性能优化方案,帮助开发者高效实现边缘端目标检测应用。

weixin_27310985的博客 106

人形机器人硬件电路设计入门

人形机器人属于。

blotemj.blog.youkuaiyun.com 229

三层架构之业务逻辑层

你好,是我琉忆。 今天我们讲一讲三层架构中的业务逻辑层 1、业务逻辑层的介绍 业务逻辑层(Business Logic Layer,简称BLL)是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也就是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。 业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底...

琉忆编程库 6681

YOLOv11 改进 - 注意力机制 | 空间增强注意力SEAM(Spatially Enhanced Attention Module)提升遮挡场景检测鲁棒性

本文介绍了分离与增强注意力模块(SEAM)在YOLOv11中的结合应用。SEAM模块旨在增强面部特征学习能力,特别是处理面部遮挡问题。它采用多头注意力机制强调面部区域、抑制背景区域,第一部分使用深度可分离卷积减少参数并学习通道重要性,通过1x1卷积增强通道联系,利用两层全连接网络融合通道信息,经指数归一化后作为注意力权重与原始特征相乘。我们将SEAM集成到YOLOv11的检测头中,并进行相关注册和配置。实验表明,该方法有助于提升模型检测性能。

魔改工程师的博客 1664

java业务逻辑层文档,java业务逻辑层类图

Java 面向对象 16 种设计原则一 类的设计原则 1 ...假如已有的系统中存在以下既有的业务逻辑代码: void...下面的类图将它的 2 个不同职责分成 2 个不同的......java大作业设计报告_JAVA聊天室_调查/报告_表格/...服务器中涉及到的类图如下所示: SeverMain DataBase...各子类的工作逻辑详见代码。这里简单列出流程图。 ...类图概述 2. 类图的...

weixin_35677144的博客 1207

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android的ViewModel这个类就是业务逻辑层吗

android的ViewModel这个类就是业务逻辑层吗。

yzpbright的博客 420

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

[java代码]业务逻辑查询帮助类

用于执行查询语句以HashMap的形式返回单条记录.以HashMap列表的形式返回多条记录.package com.common.businesslogic;import com.exception.GFPortalExcept...

284

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

30天自制C++服务器day14-支持业务逻辑自定义、完善Connection类

回顾之前的教程,可以看到服务器Echo业务的逻辑在Connection类中。如果我们需要不同的业务逻辑,如搭建一个HTTP服务器,或是一个FTP服务器,则需要改动Connection中的代码,这显然是不合理的。Connection类作为网络库的一部分,不应该和业务逻辑产生联系,业务逻辑应该由网络库用户自定义,写在server.cpp中。同时,作为一个通用网络库,客户端也可以使用网络库来编写相应的业务逻辑。今天我们需要完善Connection类,支持业务逻辑自定义。 首先来看看我们希望如何自定义业务逻辑,这是

冯岳松的博客 2141

将业务逻辑封装在独立的 TypeScript 类中,然后在 Vue 组件中创建实例的好处

TypeScript 类(如 EmrEditorInitEvent):封装业务逻辑(事件处理、服务调用、数据转换、状态管理)。这样,当业务需求变化时,你只需要修改这个类,而不必改动 Vue 组件模板或样式。这就像在 React 中,将业务逻辑放在自定义 Hooks 或 Redux Toolkit 中,组件只负责调用和渲染。不同的是,这里用了类而不是函数式 Hooks,可能是出于框架兼容性或团队习惯。Vue 组件负责“表面”工作,TypeScript 类负责“内核”逻辑,各司其职。

qq_67639015的博客 43

vue中尝试使用 es6 class类 抽离表单联动业务逻辑的思考

vue 拆分表单逻辑 es6 class

qq_39175306的博客 1176

用类降低业务逻辑复杂度

这是我在编码,重构的循环里发现的一种方法。用来降低业务逻辑代码复杂度。她把我的业务代码,从120行降到了30行+类中的70行。我感觉效果相当不错。 一个业务都包括什么元素? 安全检查:负责检查设计涉及该业务的所有变量的合法性,业务逻辑的参数都是错的或者是非法的,结果就不用谈了。 业务功能:完成该业务需要的功能。比如,接收文件需要:协议解析,数据解密,文件保存,数据库记录等等,当然,数

shyandsy的无边海洋 3177

前台系统三:展示页实现:创建程序业务逻辑类Service类;(分页模块的Model的Service部分)

目录 一:概述 二:开发PaintingService类:完成分页查询部分的程序业务逻辑类 由此,Model中的,Service部分就开发完成了;即Model部分就开发完成了。 一:概述 本部分主要是MVC架构的Model(模型)层中的Service部分:然后,本篇博客的具体内容是分页功能的Service部分: 主要包括: (1)PaintingService类:完成程序业务逻辑类,承上:接受Controller的请求,启下下面调用Dao(隶属于Model部分)类以获取数据;...

小枯林的博客 520

Java 21记录类与模式匹配结合实战:构建类型安全业务逻辑的5种模式

Java 21中记录类与模式匹配的结合为构建类型安全的业务逻辑提供了强大的工具集。大幅减少样板代码提高编译时类型安全性创建更易于维护的领域模型实现更清晰的条件逻辑表达随着Java模式匹配功能的继续演进(可能包括解构模式等特性),这种编程风格将变得更加强大和普及。现在正是开始采用这些现代Java特性的好时机。

Momo__omoM的博客 745

springboot练手3-业务逻辑分层与responds类

在练手2中的简单逻辑分层不符合项目开发的语言规范,需要有更加细致的分层逻辑;@Service其实这里也不完备,一般完备的分层如下:除了之前的controller层与service层中使用的类要改成StudentsDTO类,service层的实现逻辑也要作以下改变:添加以下层次文件。

xx_xxxxx_的博客 1075

PHP分层架构简单示例(1.业务逻辑类)

对于一些大型项目,分层可以分离代码关注点,可以让不同的技术人员协同开发,对代码的更改和维护也具有极大的优势,此后也可以方便的更换组件,不用推到整个项目,比如常见的更换数据库的场景。分层的项目一般多采用.NET或Java技术,而对于PHP比较少一些,可能由于PHP的大型项目偏少以及PHP一般不做后端的方向,这篇文章简单的写一个PHP分层的示例。 定义一个最简单的业务场景,发布博...

weixin_34037977的博客 525

[ASP中使用三层架构] 11.用户登录之三 User业务逻辑类

    前面的准备工作都是在三层架构中的数据访问层,相关的两个数据访问的操作已经安排妥当,现在要开始进入到三层架构中的业务逻辑层.    这一层是三层架构的灵魂与核心,兼任控制中心,兼任资源调配中心,兼任通用功能整合中心......一切你所能想象的负责管理性质工作的集合.    它有如日月地中的地,有如天地人中的人,有如空假中的中,有如男女爱中的爱,有如叔本华的钟摆,有如电脑的操作系统......

天外一尘 1061

java不写类实现业务逻辑的方法调研

研究后端复杂业务低代码技术实现不写实际代码,动态实现业务的可能技术方案, 作为技术选型的参考。

Myron_007的博客 1021
上一篇: Java UUID 的 和 oracle的 sys_duid的用法比较
下一篇: DAO部分的基础类BaseDAO
cssdl
博客等级 码龄15年 5粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值