JavaBean是什么?

        Bean的本意为豌豆、子实,在这里引申为一种实体。JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制(反射机制)发现和操作这些JavaBean 的属性。 

一.实体类

        有一个很流行的说法是:Mybatis是一种优秀的持久层框架。那么何为持久?我们在存储普通的数据时,变量、集合、数组都可以存,不过上述几者全是保存在内存中,内存中的数据特点为转瞬即逝。因此不难理解,所谓的持久层就是数据库相关。

实体类必须满足的特点:

  • 成员变量必须私有
  • get方法和set方法必须实现
  • 存在无参数的构造器~
  • 一个用来保存数据的Java类,可以用其创建对象保存某个事物的数据

 二.POJO与JavaBean的区别

        POJO(Plain Old Java Object)即普通老式Java对象,没有任何限制、约束或继承关系。通常用于表示一些简单的数据模型或对象。Java Bean与前者略有不同,其特点就是支持业务逻辑的协助类。

Java Bean需要满足如下条件:

  • 类必须是公共的,并且具有一个公共的无参数构造函数
  • 所有属性都应该是私有的,并且通过公共的getter/setter方法来访问和修改属性的值。
  • 根据需要可以实现其他接口 

总的来说,区别如下:

  • POJO是比javabean更纯净的简单类或接口。POJO严格地遵守简单对象的概念,而JavaBean中往往会封装一些简单的逻辑。
  • POJO主要用于数据的传递。它 作为数据存储的载体只能装载数据,而不具有业务逻辑处理的能力。
  • 虽然Javabean可以向POJO一样获取数据,但是Javabean当中可以有其它的方法。

如下是之前项目里一个pojo的典例:

package pojo;public class User {private Integer id;private String username;private String password;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +'}';}
}

JavaBean其实和前者的写法大差不差,但是必须包含如下两者:

空参构造:

public User(){}

实参构造:

    public User(Integer id,String username,String password) {this.id=id;this.password=password;this.username=username;}

实际上pojo很少使用了,多数开发的目前使用javaBean作为dao层~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/788151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

951. 翻转等价二叉树

跳转题目 判断两棵树是否为反转关系。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr)…

操作系统高频面试知识总结 part1

操作系统 1.什么是操作系统?2.并发与并行?3.同步与异步?4.阻塞和非阻塞?5.什么是进程?6.什么是线程?7.进程与线程的区别?8.进程地址空间?9.进程常见状态?10.进程间通信&a…

Google人才选拔的独特视角

Google人才选拔的独特视角 独特的人才选拔标准 Google作为全球最大的搜索引擎公司,拥有无数优秀的人才。他们的选拔标准与众不同,有着自己独特的人才观。 重视多元化的背景 Google相信人才的多元化背景能够给公司带来不同的思考角度和创新思维。他们…

【总结】在嵌入式设备上可以离线运行的LLM--Llama

文章目录 Llama 简介运用另一种:MLC-LLM 一个令人沮丧的结论在资源受限的嵌入式设备上无法运行LLM(大语言模型)。 一丝曙光:tinyLlama-1.1b(10亿参数,需要至少2.98GB的RAM) Llama 简介 LLaMA…

Java language programming:作品评分系统

题目: 全国中小学生Scratch作品大赛拉开了序幕。每个参赛选手可以通过网络直接上传作品。本次比赛人人可做评委。每个网络评委可以通过网络对每一件作品进行打分。其自动去掉一个最高分和一个最低分,求出平均分。 输入格式: 输入数据包括两行: 第一行为…

电商技术揭秘四:电商平台的物流管理系统

文章目录 引言一、物流管理系统的功能与架构1.1 物流管理系统在电商平台中的作用概述保障订单的及时配送优化库存管理控制运营成本提升客户服务水平支持数据驱动的决策应对市场变化 1.2 订单处理功能分析自动化处理流程订单分配与履行错误检测与处理机制实时订单状态更新订单数…

ZKP价值链路的垂直整合

1. ZKP proof生命周期 从ZKP(zero-knowledge proof)生命周期,先看围绕ZKP的价值链路形成: 1)User intent用户意图:以某用户意图为起点,如想要在某zk-rollup上swap某token、证明其身份、执行某…

【从零开始】自建高质量免费ip代理池(截止2024.4.1最新版)

文章目录 前言基础常识代理服务器状态码端口号 常见免费ip代理池网站实现思路代码实现main.pyutils.pydemo.py 结果如下 前言 为了防止ip被封后还能爬取网页,最常见的方法就是自己构建一个ip代理池。 本来用的是下面这个开源项目ip代理池, github开源项…

二维数字滤波器设计

Rafael C. Gonzalez “Digital Image Processing”的错误 按理说这本书的第三作者Steven是数字信号处理出身,他本人又对信号处理非常熟悉,不能理解为什么这本书的频域滤波器一章几乎没有对的地方。 对于巴特沃斯等模拟滤波器,利用全通带减去…

关于Qt的安装与版本更换

VS 2022 Qt 5.14.2配置记录_vs2022安装什么版本qt-CSDN博客

GPT 模型解析:ChatGPT 如何在语言处理领域引领潮流?

人工智能时代来临 我们正处于AI的iPhone时刻。——黄仁勋(英伟达CEO) ChatGPT 好得有点可怕了,我们距离危险的强人工智能不远了。——马斯克(Tesla/SpaceX/Twitter CEO) 以上的内容说明我们现在正处于一个技术大翻牌的…

就业班 第二阶段 2401--3.29 day9 shell之正则+数组

九、shell 编程-数组 普通数组:只能用整数作为数组的索引 关联数组:可以使用字符串作为数组的索引 数组定义 普通数组定义: [rootnewrain shell]# books( linux shell awk sed ) 引用: [rootnewrain shell]# echo ${books[0]} linux [rootnewrain shell]# echo ${books[1]…

大唐杯历届省赛押题训练(6)

考试-呼叫建立流程 一、单选题 1下面关于T-ADS被叫域选择下面说法正确的是( )1分/1分 A、被叫域选择是由MME发起的信令过程 B、T-ADS,过程是AS向3合1融合数据库查询T-ADS信息的过程 C、被叫域选择由主叫UE发起的域选择过程 D、主要是解决主叫驻留在那个网络的问题 提…

Avalonia笔记5-数据绑定

学习笔记&#xff1a; 1. 使用{Binding}标记拓展在XAML中进行绑定。通过绑定&#xff0c;所有数据上下文的变化都将自动更新到控件上。 <TextBlock Text"{Binding Name}"/> 2. 绑定模式 可以通过指定{Binding}的Mode来修改绑定的行为: OneWay 源的变化自动…

篮球竞赛预约平台的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)篮球馆,篮球赛,竞赛项目,赛事预约

本项目包含可运行源码数据库LW&#xff0c;文末可获取本项目的所有资料。 推荐阅读300套最新项目持续更新中..... 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含ja…

苍穹外卖06(HttpClient,微信小程序开发,微信登录流程,获取授权码从微信平台获取用户信息)

目录 一、HttpClient 1. 介绍 2. 入门案例 1 导入依赖(已有) 2 GET方式请求 2 POST方式请求 二、微信小程序开发 1. 介绍 2. 准备工作 1 注册小程序获取AppID 注册小程序 完善小程序信息 2 下载并安装开发者工具 3 设置小程序开发者工具(必做) 3. 入门案例 1 小…

Screeps Arena 游戏基础教程

一. 游戏内教程汉化1. 循环和导入&#xff08;Loop and Import&#xff09;2. 简单移动&#xff08;Simple move&#xff09;3. 首次攻击&#xff08;First Attack&#xff09;4. 爬虫的身体部分&#xff08;Creeps Bodies&#xff09;5. 存储和转移 &#xff08;Store and Tra…

通过提交容器的方式修改ubuntu镜像的apt源

通过提交容器的方式修改ubuntu镜像的apt源 步骤总结 问题&#xff0c;每次创建容器之后&#xff0c;都要在容器内手动更改镜像源。 不如&#xff0c;干脆修改镜像的apt源&#xff0c;一次到位。 步骤 先创建一个容器&#xff0c;到容器内执行变更命令。 D:/sandbox> dock…

江苏开放大学2024年春《中外设计史 060709》第二次测试参考答案

答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 单选题 1美国现代建筑家赖特&#xff0c;提倡“有机建筑”的设…

Yarn 的安装和使用

在前端开发中&#xff0c;包管理工具是必不可少的利器&#xff0c;而 Yarn 就是其中一个备受欢迎的选择。本文将介绍如何安装和使用 Yarn&#xff0c;并解决可能遇到的一些常见问题&#xff0c;让你更高效地管理项目依赖。 什么是 Yarn&#xff1f; Yarn 是由 Facebook、Goo…