JAVA项目开发里 模型层的逻辑是什么

JAVA项目开发里 模型层的逻辑是什么,第1张

1、模型层逻辑,就是对需求分析之后的对象模型分析,

2、举个例子,比如图书管理系统,那个模型逻辑就是对象“借阅人”--借书--“书籍”--验证--借阅卡,就是简单的模型层逻辑,也就是你将业务中的对象抽取出来,看成一个一个的对象模型。

序列化后的对象存放到数据库中,或者将该对象对应的文件的路径存放到数据库中。

反序列化的时候按文件将代表对象的数据流读入内存,然后反序列化一个原来的对象就行了。

关于序列化和反序列化,可以参考这个例子。放在数据库中的情况,应该完全类似。

import javaioFile;

import javaioFileInputStream;

import javaioFileOutputStream;

import javaioObjectInputStream;

import javaioObjectOutputStream;

import javaioSerializable;

public class TestSerialization {

public static void main(String[] args) {

TestSerialization ts=new TestSerialization();

String serializationFile=tswriteObjectIntoFile(new KeyInfo("xm","xm'password"));

Systemoutprintln(tsgetObjectFromFile(serializationFile));

}

/

  对象序列化并写入到文件中

  @param info

 /

public String writeObjectIntoFile(KeyInfo info){

String objectFileName=SystemcurrentTimeMillis()+"-KeyInfo-Serializationout";

try {

FileOutputStream fos=new FileOutputStream(objectFileName);

ObjectOutputStream oos =new ObjectOutputStream(fos);

ooswriteObject(info);

oosflush();

oosclose();

} catch (Exception e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

return SystemgetProperty("userdir")+Fileseparator+objectFileName;

}

/

  反序列化

  @param infoFile

  @return

 /

public KeyInfo getObjectFromFile(String infoFile){

try {

FileInputStream fis=new FileInputStream(infoFile);

ObjectInputStream ois=new ObjectInputStream(fis);

return (KeyInfo)oisreadObject();

} catch (Exception e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

return null;

}

}

class KeyInfo implements Serializable {

/

  

 /

private static final long serialVersionUID = 1L;//如果更改了KeyInfo的任何地方,改变这个值。反序列就不会成功。

public String user;

public String pwd ;

/

  @return the user

 /

public String getUser() {

return user;

}

/

  @param user the user to set

 /

public void setUser(String user) {

thisuser = user;

}

/

  @return the pwd

 /

public String getPwd() {

return pwd;

}

/

  @param pwd the pwd to set

 /

public void setPwd(String pwd) {

thispwd = pwd;

}

public KeyInfo(String user, String pwd) {

super();

thisuser = user;

thispwd = pwd;

}

public KeyInfo() {

super();

// TODO Auto-generated constructor stub

}

/ (non-Javadoc)

  @see javalangObject#toString()

 /

@Override

public String toString() {

return "KeyInfo [user=" + user + ", pwd=" + pwd + "]";

}

既然是java 不如试试Derby这个数据库,应该很符合你的要求而且网上资料很多哦在这里也不赘述了。

Derby是一个开源的、100% Java编写的、与平台无关的、易管理的关系数据库管理系统。Derby为用户提供了轻量的标准数据库引擎,它可以紧密的嵌入到任何基于Java的解决方案中。Derby确保数据完整性,并提供负责的事务处理 *** 作。默认的配置中不包含任何独立的数据库服务器。同时,Derby 的安装过程非常简单,只需要将其 jar 文件复制到系统中并为您的项目添加该 jar 文件即可。

Derby拥有一个令人惊奇的特性列表。它可以支持关系数据库中的所有企业级的特性,包括崩溃恢复、事务回滚和提交、行/表级锁、视图、主键/外键约束、触发器、子查询表达式,等等。一部分的列表特性使Derby从其他的Java 关系数据库管理系统中分离出来。

Derby可以有两种部署方式:

嵌入式:Derby被单个用户的Java应用程序使用,在这种模式下,Derby和应用程序运行在同一个JVM中。Derby对于终端用户几乎是透明的,因为它的启动和终止都是由应用程序来控制,而不需要任何的管理。

服务器模式:Derby由应用程序启动,此时通过用户可以通过网络连接。在这种模式下,Derby运行在服务器主机的JVM中。其他JVM的应用程序通过连接服务器来访问数据库。

以上就是关于JAVA项目开发里 模型层的逻辑是什么全部的内容,包括:JAVA项目开发里 模型层的逻辑是什么、(java)如何将数据库中的对象逆向成数据模型(以oracle为例)、java 数组过大,想用一个轻量级的数据库用来存储这个数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10197297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存