Mybatis.net + Mysql

项目文件结构

NuGet下载Mybatis.net相关包:IBatisNet

安装完成后,会显示在,在已安装页面。同时,在管理器中的引用列表中,会多出来两个引用文件

IBatisNet.Common

IBatisNet.DataMapper

安装 Mysql.data。

注意:

        安装完成后,在管理器中的引用列表中,会多出来一个引用文件:Mysql.Data文件

        安装时,尽量不要选择太高的版本,否则有可能跟已有的.NET Framework 版本不匹配

创建三层机构

Model层

using System;

namespace HrSystem.Model
{
    /// <summary>
    /// 系统用户
    /// </summary>
    public class SysUser
    {
        // 主键id
        public int _id
        {
            get; set;
        }

        // 唯一编号
        public string _empNo
        {
            get; set;
        }

        // 用户名称
        public string _name
        {
            get; set;
        }

        // 密码
        public string _password
        {
            get; set;
        }

        // 联系电话
        public string _mobile
        {
            get; set;
        }

        // 邮件
        public string _email
        {
            get; set;
        }

        // 紧急联系人
        public string _urgentName
        {
            get; set;
        }

        // 紧急联系电话
        public string _urgentMobile
        {
            get; set;
        }

        // 头像地址Url
        public string _headUrl
        {
            get; set;
        }

        // 生日
        public DateTime _birthday
        {
            get; set;
        }

        // 工作状态:在职离职等【run_type_enum】
        public int _runType
        {
            get; set;
        }

        // 入职时间
        public DateTime _initTime
        {
            get; set;
        }

        // 备注
        public string _remark
        {
            get; set;
        }

        // 创建人工编号
        public string _createEmpNo
        {
            get; set;
        }

        // 创建时间
        public DateTime _createTime
        {
            get; set;
        }

        // 更新人工号
        public string _updateEmpNo
        {
            get; set;

        }

        // 更新时间
        public DateTime _updateTime
        {
            get; set;
        }


        public override string ToString()
        {
            return string.Format("[Mybatis: id={0}, name={1}]", _id, _name);
        }
    }
}

Mapper层(也叫DAO层)

using IBatisNet.DataMapper;
using System;

namespace HrSystem.Mappers
{
    public class MybatisMapper
    {
        /// <summary>
        /// Gets the entity mapper.
        /// </summary>
        /// <value>The entity mapper.</value>
        public static ISqlMapper EntityMapper
        {
            get
            {
                try
                {
                    ISqlMapper mapper = Mapper.Instance();
                    return mapper;
                }
                catch (Exception ex)
                {
                    Console.WriteLine("ex:{0}", ex);
                    throw ex;
                    //return null;
                }
            }
        }
    }
}

Service层

using System;
using System.Collections.Generic;
using HrSystem.Mappers;
using HrSystem.Model;
using IBatisNet.DataMapper;
namespace mybatisNet
{
    public class UserService
    {
        /// <summary>
        /// Inserts the mybatis.
        /// </summary>
        /// <param name="mybatis">Mybatis.</param>
        public void InsertMybatis(SysUser mybatis)
        {
            ISqlMapper mapper = MybatisMapper.EntityMapper;
            try
            {
                mapper.Insert("InsertMybatis", mybatis);
            }
            catch (Exception ex)
            {
                Console.WriteLine("ex when InsertMybatis:{0}", ex);
            }
        }
        /// <summary>
        /// Queries the mybatis.
        /// </summary>
        /// <returns>The mybatis.</returns>
        /// <param name="id">Identifier.</param>
        public SysUser QueryMybatis(int id)
        {
            ISqlMapper mapper = MybatisMapper.EntityMapper;
            try
            {
                SysUser result = mapper.QueryForObject<SysUser>("QueryMybatis", id);
                return result;
            }
            catch (Exception ex)
            {
                Console.WriteLine("ex:{0}", ex);
                return null;
            }
        }
        /// <summary>
        /// Updates the mybatis.
        /// </summary>
        /// <returns>The mybatis.</returns>
        /// <param name="mybatis">Mybatis.</param>
        public int UpdateMybatis(SysUser mybatis)
        {
            ISqlMapper mapper = MybatisMapper.EntityMapper;
            try
            {
                int result = mapper.Update("UpdateMybatis", mybatis);
                return result;
            }
            catch (Exception ex)
            {
                Console.WriteLine("ex:{0}", ex);
                return 0;
            }
        }

        /// <summary>
        /// delete list
        /// </summary>
        /// <returns>The mybatis.</returns>
        /// <param name="mybatis">Mybatis.</param>
        public int DeleteMybatis(SysUser mybatis)
        {
            ISqlMapper mapper = MybatisMapper.EntityMapper;
            try
            {
                int result = mapper.Delete("DeleteMybatis", mybatis);
                return result;
            }
            catch (Exception ex)
            {
                Console.WriteLine("ex:{0}", ex);
                return 0;
            }
        }


        /// <summary>
        /// query list
        /// </summary>
        /// <returns>The mybatis.</returns>
        /// <param name="mybatis">Mybatis.</param>
        public IList<SysUser> GetList()
        {
            ISqlMapper mapper = MybatisMapper.EntityMapper;
            IList<SysUser> listBlogContent = mapper.QueryForList<SysUser>("selectAllContent", null);
            return listBlogContent;
        }
    }
}

Controller层(应用层)

using HrSystem.Model;
using mybatisNet;
using System;

namespace HrSystem.Forms.UserForms
{
    public class DealUserSql
    {
        public static SysUser GetUserDetailByEmpNo(string businessId)
        {
            //string sql_str = "select * from sys_user where emp_no = '" + businessId + "';";
            //Console.WriteLine(sql_str);

            //return GlobalMysql.GetOneUser(sql_str, true);


            UserService service = new UserService();
            //Mybatis mybatis = new Mybatis();
            //mybatis.Id = 3;
            //mybatis.Name = "hello mybatis .net update";
            //service.InsertMybatis(mybatis);
            //service.Q
            //service.UpdateMybatis(mybatis);
            //service.DeleteMybatis(mybatis);
            Console.WriteLine("result: {0}", service.QueryMybatis(1));

            return null;

        }




    }
}

创建配置文件

右键项目 -> 添加 -> 新建项

映射层Mapper.xml

<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="HrSystem.Mappers"
    xmlns="http://ibatis.apache.org/mapping"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

	<resultMaps>
		<resultMap id="BaseResultMap" class="HrSystem.Model.SysUser">
			<id property="id" column="id" dbType="BIGINT" />
			<result property="name" column="name" dbType="VARCHAR"/>
		</resultMap>
	</resultMaps>

	<statements>

		<select id="QueryMybatis" resultMap="BaseResultMap" parameterClass="System.Int32">
			SELECT id, name
			FROM `mybatis`
			WHERE (id = #value#)
		</select>

		<insert id="InsertMybatis" parameterClass="HrSystem.Model.SysUser">
			INSERT INTO `mybatis` (id, name) VALUES (
			#id#, #name#
			);
		</insert>

		<delete id="DeleteMybatis" parameterClass="HrSystem.Model.SysUser">
			DELETE FROM `mybatis`
			WHERE
			(id = #id#)
		</delete>

		<!--<update id="UpdateMybatis" parameterClass="HrSystem.Model.SysUser">
			UPDATE `mybatis`
			SET
			name = #name#
			WHERE
			(id = #id#)
		</update>-->

	</statements>
</sqlMap>

配置属性

Provider.config

注意,此处我使用的是Mysql,

  • 属性:description、assemblyName中,关于版本的信息,需要与MySql.Data的版本号一直,否则报错(找不到程序集还是啥了 忘了)
  • 属性:enabled,需要设置为true,否则报错(找不到Mysql.Data文件还是啥了 忘了)
<?xml version="1.0" encoding="utf-8"?>
<providers xmlns="http://ibatis.apache.org/providers" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<clear/>

	<provider
    name="sqlServer2.0"
    enabled="true"
    description="Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0"
    assemblyName="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    connectionClass="System.Data.SqlClient.SqlConnection"
    commandClass="System.Data.SqlClient.SqlCommand"
    parameterClass="System.Data.SqlClient.SqlParameter"
    parameterDbTypeClass="System.Data.SqlDbType"
    parameterDbTypeProperty="SqlDbType"
    dataAdapterClass="System.Data.SqlClient.SqlDataAdapter"
    commandBuilderClass=" System.Data.SqlClient.SqlCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix="@"
    allowMARS="false" />
	<provider
	  name="oracle9.2"
	  description="Oracle, Oracle provider V9.2.0.401"
	  enabled="false"
	  assemblyName="Oracle.DataAccess, Version=9.2.0.401, Culture=neutral, PublicKeyToken=89b483f429c47342"
	  connectionClass="Oracle.DataAccess.Client.OracleConnection"
	  commandClass="Oracle.DataAccess.Client.OracleCommand"
	  parameterClass="Oracle.DataAccess.Client.OracleParameter"
	  parameterDbTypeClass="Oracle.DataAccess.Client.OracleDbType"
	  parameterDbTypeProperty="OracleDbType"
	  dataAdapterClass="Oracle.DataAccess.Client.OracleDataAdapter"
	  commandBuilderClass="Oracle.DataAccess.Client.OracleCommandBuilder"
	  usePositionalParameters="false"
	  useParameterPrefixInSql="true"
	  useParameterPrefixInParameter="false"
	  parameterPrefix=":"
	  useDeriveParameters="false"
	  allowMARS="false" />
	<provider
	  name="oracle10.1"
	  description="Oracle, oracle provider V10.1.0.301"
	  enabled="false"
	  assemblyName="Oracle.DataAccess, Version=10.1.0.301, Culture=neutral, PublicKeyToken=89b483f429c47342"
	  connectionClass="Oracle.DataAccess.Client.OracleConnection"
	  commandClass="Oracle.DataAccess.Client.OracleCommand"
	  parameterClass="Oracle.DataAccess.Client.OracleParameter"
	  parameterDbTypeClass="Oracle.DataAccess.Client.OracleDbType"
	  parameterDbTypeProperty="OracleDbType"
	  dataAdapterClass="Oracle.DataAccess.Client.OracleDataAdapter"
	  commandBuilderClass="Oracle.DataAccess.Client.OracleCommandBuilder"
	  usePositionalParameters="true"
	  useParameterPrefixInSql="true"
	  useParameterPrefixInParameter="true"
	  parameterPrefix=":"
	  useDeriveParameters="false"
	  allowMARS="false" />
	<!--Oracle Support-->
	<provider
	  name="oracleClient1.0"
	  description="Oracle, Microsoft provider V1.0.5000.0"
	  enabled="false"
	  assemblyName="System.Data.OracleClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
	  connectionClass="System.Data.OracleClient.OracleConnection"
	  commandClass="System.Data.OracleClient.OracleCommand"
	  parameterClass="System.Data.OracleClient.OracleParameter"
	  parameterDbTypeClass="System.Data.OracleClient.OracleType"
	  parameterDbTypeProperty="OracleType"
	  dataAdapterClass="System.Data.OracleClient.OracleDataAdapter"
	  commandBuilderClass="System.Data.OracleClient.OracleCommandBuilder"
	  usePositionalParameters="false"
	  useParameterPrefixInSql="true"
	  useParameterPrefixInParameter="false"
	  parameterPrefix=":"
	  allowMARS="false" />
	<!--MySql Support-->
	<provider
	  name="MySql"
	  description="MySQL, MySQL provider V6.7.9.0"
	  enabled="true"
	  assemblyName="MySql.Data, Version=6.7.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
	  connectionClass="MySql.Data.MySqlClient.MySqlConnection"
	  commandClass="MySql.Data.MySqlClient.MySqlCommand"
	  parameterClass="MySql.Data.MySqlClient.MySqlParameter"
	  parameterDbTypeClass="MySql.Data.MySqlClient.MySqlDbType"
	  parameterDbTypeProperty="MySqlDbType"
	  dataAdapterClass="MySql.Data.MySqlClient.MySqlDataAdapter"
	  commandBuilderClass="MySql.Data.MySqlClient.MySqlCommandBuilder"
	  usePositionalParameters = "false"
	  useParameterPrefixInSql = "true"
	  useParameterPrefixInParameter = "true"
	  parameterPrefix="@"
	/>

	<!--SQLite 3 Support-->
	<provider name="SQLite3"
			  description="SQLite, SQLite.NET provider V0.21.1869.3794"
			  enabled="false"
			  assemblyName="SQLite.NET, Version=0.21.1869.3794, Culture=neutral, PublicKeyToken=c273bd375e695f9c"
			  connectionClass="Finisar.SQLite.SQLiteConnection"
			  commandClass="Finisar.SQLite.SQLiteCommand"
			  parameterClass="Finisar.SQLite.SQLiteParameter"
			  parameterDbTypeClass="System.Data.DbType, System.Data"
			  parameterDbTypeProperty="DbType"
			  dataAdapterClass="Finisar.SQLite.SQLiteDataAdapter"
			  commandBuilderClass="Finisar.SQLite.SQLiteCommandBuilder"
			  usePositionalParameters="false"
			  useParameterPrefixInSql="true"
			  useParameterPrefixInParameter="true"
			  parameterPrefix="@"
			  setDbParameterPrecision="false"
			  setDbParameterScale="false"
			  allowMARS="false" />
	<!--PostgreSql Support-->
	<provider
	  name="PostgreSql0.99.1.0"
	  description="PostgreSql, Npgsql provider V0.99.1.0"
	  enabled="false"
	  assemblyName="Npgsql, Version=0.99.1.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7"
	  connectionClass="Npgsql.NpgsqlConnection"
	  commandClass="Npgsql.NpgsqlCommand"
	  parameterClass="Npgsql.NpgsqlParameter"
	  parameterDbTypeClass="NpgsqlTypes.NpgsqlDbType"
	  parameterDbTypeProperty="NpgsqlDbType"
	  dataAdapterClass="Npgsql.NpgsqlDataAdapter"
	  commandBuilderClass="Npgsql.NpgsqlCommandBuilder"
	  usePositionalParameters="false"
	  useParameterPrefixInSql="true"
	  useParameterPrefixInParameter="true"
	  parameterPrefix=":"
	  allowMARS="true" />
</providers>

设置完成后,邮件Providers.config文件,选择属性,进行设置

SqlMap.config

与Providers.config相同的创建步骤

<?xml version="1.0" encoding="utf-8"?>
<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

	<!--properties节点通常用于引入在外部定义一些键值对配置文件,以方便在后面统一调用,这样修改的时候,只修改就可以了。
   它的引入方式有3种:
	resource: 通过相对路径来确定文件的位置。
	url:   通过绝对路径来确定文件位置。
	embedded: 通过嵌入资源方式来确定文件位置。-->
	<!--<properties resource="../../../Files/properties.config"/>-->
	<!--Settings节点里,可以配置以下5个信息:
  useStatementNamespaces:默认flase,是否使用全局完整命名空间。
  cacheModelsEnabled :默认true,是否启用缓存。
  validateSqlMap:默认false,使用启用SqlMapConfig.xsd来验证映射XML文件。
  useReflectionOptimizer:默认true,是否使用反射机制访问C#中对象的属性。
  useEmbedStatementParams 是否使用嵌入的方式声明可变参数-->
	<settings>
		<setting useStatementNamespaces="false" />
		<setting cacheModelsEnabled="true" />
	</settings>

	<!--db provider配置文件路径-->
	<providers resource="Providers.config"/>


	<database>
		<provider name="MySql" />
		<dataSource name="net_hr" connectionString="Host=127.0.0.1;UserName=root;Password=root;Database=net_hr;Port=3306;CharSet=utf8;Allow Zero Datetime=true"/>
	</database>

	<!--SqlMaps节点,用于配置映射信息。通常在映射信息写在外部,在这个节点引入。-->
	<sqlMaps>
		<sqlMap resource="Mappers/UserMapper.xml"/>
	</sqlMaps>

</sqlMapConfig>

配置属性

重新生成解决方案

参考:

参考1:配合本文及参考2一起看(较少)

参考2:前一部分,请配合本文一起看;此文有后续拓展,可以继续深入学习 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入理解正则表达式:从入门到精通

title: 深入理解正则表达式&#xff1a;从入门到精通 date: 2024/4/30 18:37:21 updated: 2024/4/30 18:37:21 tags: 正则Python文本分析日志挖掘数据清洗模式匹配工具推荐 第一章&#xff1a;正则表达式入门 介绍正则表达式的基本概念和语法 正则表达式是一种用于描述字符串…

Android 音视频播放器 Demo(二)—— 音频解码与音视频同步

音视频编解码系列目录&#xff1a; Android 音视频基础知识 Android 音视频播放器 Demo&#xff08;一&#xff09;—— 视频解码与渲染 Android 音视频播放器 Demo&#xff08;二&#xff09;—— 音频解码与音视频同步 RTMP 直播推流 Demo&#xff08;一&#xff09;—— 项目…

使 Elasticsearch 和 Lucene 成为最佳向量数据库:速度提高 8 倍,效率提高 32 倍

作者&#xff1a;来自 Elastic Mayya Sharipova, Benjamin Trent, Jim Ferenczi Elasticsearch 和 Lucene 成绩单&#xff1a;值得注意的速度和效率投资 我们 Elastic 的使命是将 Apache Lucene 打造成最佳的向量数据库&#xff0c;并继续提升 Elasticsearch 作为搜索和 RAG&a…

Jenkins自动化搭建记录

每一份努力都是有一份期盼&#xff0c;每一份付出都是为了有更多的收获。 本文记录一次搭建Jenkins自动参数化打包APK的实现过程和碰到的问题&#xff0c;实现了在Windows和Mac系统下的自动化打包流程。 因为Jenkins的安装过程在网上的教程很多&#xff0c;这里就不在赘述。 …

使用 LlamaIndex 和 Llama 2-Chat 构建知识驱动的对话应用程序

文章目录 使用 LlamaIndex 和 Llama 2-Chat 构建知识驱动的对话应用程序Llama 2-70B-聊天LlamaIndex 解决方案概述先决条件使用 SageMaker JumpStart 部署 GPT-J 嵌入模型使用 SageMaker Python SDK 进行部署在 SageMaker Studio 中使用 SageMaker JumpStart 进行部署使用 Sage…

Dashboard 介绍

Dashboard 介绍 一、K8S Dashboard简介 简单的说&#xff0c;K8S Dashboard是官方的一个基于WEB的用户界面&#xff0c;专门用来管理K8S集群&#xff0c;并可展示集群的状态。K8S集群安装好后默认没有包含Dashboard&#xff0c;我们需要额外创建它 二、RABC简介 还是那句话&a…

关于下载上传的sheetjs

一、背景 需要讲后端返回来的表格数据通过前端设置导出其中某些字段&#xff0c;而且得是xlsx格式的。 那就考虑使用控件SheetJS。如果是几年前&#xff0c;一般来说&#xff0c;保存excel的文件都是后端去处理&#xff0c;处理完成给前端一个接口&#xff0c;前端调用了打开…

SQLite的扩展函数Carray()表值函数(三十八)

返回&#xff1a;SQLite—系列文章目录 上一篇:SQLite如何处理CSV 虚拟表 下一篇&#xff1a;SQLite—系列文章目录 ​ 1. 概述 Carray()是一个具有单列的表值函数(名为 “value”)和零行或多行。 carray() 中每一行的“值”取自 C 语言数组 由应用程序通过参数绑定提…

如何进行面向对象分析、面向对象设计和面向对象编程

目录 1.引言 2.案例介绍和难点剖析 3.如何进行面向对象分析 4.如何进行面向对象设计 5.如何进行面向对象编程 6.总结 1.引言 面向对象分析(OOA)、面向对象设计(00D)和面向对象编程(OOP)是面向对象开发的3个主要环节。 在以往的工作中&#xff0c;作者发现&#xff0c;很多…

JavaScript原型链深度剖析

目录 前言 一、原型链 1.原型链的主要组成 原型&#xff08;Prototype&#xff09; 构造函数&#xff08;Constructor&#xff09; 实例&#xff08;Instance&#xff09; 2.原型链的工作原理 前言 在JavaScript的世界中&#xff0c;原型链&#xff08;Prototype Chain&…

Amazon云计算AWS之[4]非关系型数据库服务SimpleDB和DynamoDB

文章目录 简介非关系型VS关系数据库SimpleDB域条目属性值SimpleDB的使用 DynamoDBSimpleDB VS DynamoDB 简介 非关系型数据库服务主要用于存储结构化的数据&#xff0c;并为这些数据提供查找、删除等基本的数据库功能。AWS中提供的非关系型数据库主要包括SimpleDB和DynamoDB …

聚醚醚酮(Polyether Ether Ketone)PEEK在粘接使用时可以使用UV胶水吗?要注意哪些事项?

一般情况下&#xff0c;聚醚醚酮&#xff08;Polyether Ether Ketone&#xff0c;PEEK&#xff09;是一种难以黏附的高性能工程塑料&#xff0c;而UV胶水通常不是与PEEK进行粘接的首选方法。PEEK表面的化学性质和高温性能使得它对常规胶水的附着性较低。然而&#xff0c;有一些…

(成品论文22页)24深圳杯数学建模A题1-4问完整代码+参考论文重磅更新!!!!

论文如下&#xff1a; 基于三球定位的多个火箭残骸的准确定位 针对问题一&#xff1a;为了进行单个残骸的精确定位&#xff0c;确定单个火箭残骸发生音爆 时的精确位置和时间&#xff0c;本文基于三球定位模型&#xff0c;考虑到解的存在性和唯一性&#xff0c; 选取了四个监测…

用HTML5实现播放gif文件

用HTML5实现播放gif文件 在HTML5中&#xff0c;你可以使用<img>标签来播放GIF文件。GIF文件本质上是一种图像格式&#xff0c;它支持动画效果&#xff0c;因此当在网页上加载时&#xff0c;它会自动播放动画。先看一个简单的示例&#xff1a; <!DOCTYPE html> &l…

清华同方电脑文件删除怎么恢复

在日常使用清华同方电脑的过程中&#xff0c;我们难免会遇到误删重要文件的情况。文件丢失不仅可能导致数据损失&#xff0c;还可能影响到我们的工作、学习甚至是生活。那么&#xff0c;当在清华同方电脑上删除了重要文件后&#xff0c;我们应该如何恢复呢&#xff1f;本文将为…

Linux服务器安全基础 - 查看入侵痕迹

1. 常见系统日志 /var/log/cron 记录了系统定时任务相关的日志 /var/log/dmesg 记录了系统在开机时内核自检的信息&#xff0c;也可以使用dmesg命令直接查看内核自检信息 /var/log/secure:记录登录系统存取数据的文件;例如:pop3,ssh,telnet,ftp等都会记录在此. /var/log/btmp:记…

服务器被攻击,为什么后台任务管理器无法打开?

在服务器遭受DDoS攻击后&#xff0c;当后台任务管理器由于系统资源耗尽无法打开时&#xff0c;管理员需要依赖间接手段来进行攻击类型的判断和解决措施的实施。由于涉及真实代码可能涉及到敏感操作&#xff0c;这里将以概念性伪代码和示例指令的方式来说明。 判断攻击类型 步…

C#---使用Coravel实现定时任务

Coravel是一款框架轻&#xff0c;使用简单&#xff0c;支持秒级定时任务。 1.添加NuGet引用 2.定义自己的工作任务 using Coravel.Invocable; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Thread…

【Java笔记】JVM:对象在内存中是什么样的?如何计算对象占用的内存大小?

文章目录 Java对象的内存布局计算对象占用的内存大小Openjdk jol来算几个Object o new Object() 该对象在内存中占用多少字节&#xff1f;基本数据类型作为成员变量的对象有实例对象作为成员变量的对象 Java对象的内存布局 Java中&#xff0c;一个实例对象在内存中的组成主要包…

国家开放大学2024年春《Matlab语言及其应用》实验五Simulink系统 建模与仿真参考答案

答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 实验报告 姓名&#xff1a; 学号&#xff1a; 实验五名称…