如果不用数据库,拿什么存放数据

如果不用数据库,拿什么存放数据,第1张

可以考虑用文件存储数据 但是不能写SQL了 。

或者用MS access 做数据库 这个东西 就类似文件

但是基本的数据库功能都有的

表啊 视图都有的 也能实用 SQL 语句

就是不能写复杂的函数啊 过程 触发器这样的东西。

长期存储数据,即把数据(如内存中的)保存到可永久保存的存储设备中(如硬盘、U盘),也就是人们常说的持久化。

常用持久化的方案有数据库、XML文件和文件存储。

数据库是按照数据结构来存储和管理数据的仓库,后文不再做详细介绍。

XML是可扩展标记语言,最早是为了简化Internet的文档数据传输,它提供统一的语法格式来描述数据的结构,通常XML文件用于一些少量且无特殊类型要求的文本存储。示例代码使用W3C标准的接口生成XML:

import java.io.FileOutputStream

import java.io.PrintWriter

import javax.xml.parsers.DocumentBuilderFactory

import javax.xml.transform.OutputKeys

import javax.xml.transform.Transformer

import javax.xml.transform.TransformerFactory

import javax.xml.transform.dom.DOMSource

import javax.xml.transform.stream.StreamResult

import org.w3c.dom.Document

import org.w3c.dom.Element

public class $ {

    public static void main(String[] args) throws Exception {

        Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument()

        //创建根节点为students的XML文件

        Element students = document.createElement("students")

        document.appendChild(students)

        //在根节点下创建一个子节点学生

        Element student = document.createElement("student")

        students.appendChild(student)

        //创建节点学生姓名,值为张三

        Element name = document.createElement("name")

        name.appendChild(document.createTextNode("张三"))

        student.appendChild(name)

        //创建节点学生年龄,值为18

        Element age = document.createElement("age")

        age.appendChild(document.createTextNode("18"))

        student.appendChild(age)

        //创建节点学生编号,值为150101

        Element number = document.createElement("number")

        number.appendChild(document.createTextNode("150101"))

        student.appendChild(number)

        //在根节点下创建第二个子节点学生

        student = document.createElement("student")

        students.appendChild(student)

        //创建节点学生姓名,值为李四

        name = document.createElement("name")

        name.appendChild(document.createTextNode("李四"))

        student.appendChild(name)

        //创建节点学生年龄,值为20

        age = document.createElement("age")

        age.appendChild(document.createTextNode("20"))

        student.appendChild(age)

        //创建节点学生编号,值为150102

        number = document.createElement("number")

        number.appendChild(document.createTextNode("150102"))

        student.appendChild(number)

        

        //将XML文件保存到硬盘

        Transformer transformer = TransformerFactory.newInstance().newTransformer()

        transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8")

        transformer.setOutputProperty(OutputKeys.INDENT, "yes")

        PrintWriter writer = new PrintWriter(new FileOutputStream("/home/test.xml"))

        transformer.transform(new DOMSource(document), new StreamResult(writer))

    }

}

无论是数据库还是XML文件,它们都使用了能让数据快速方便进出的标准规范。其它文件如propeties、json,都可以使用类似XML的方式来打包数据,然后通过Java丰富的io流接口保存到磁盘中。

如果用数据库就很方便 不用数据库 我也想不到有什么文件适合做查询了 保存还好说 xml 应该满足了,至于查询 不怎么好设计 除非程序初始化的时候就把xml 加载到内存里面 *** 作标签


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

原文地址:https://54852.com/sjk/6896153.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存