Search code examples
javaxmldatabaseclassdocument-based-database

Create a simple XML-document database Java


I need some Java help.

I have got a class like this

public class Thing {
    private String name;
    private int price;

public Thing(String name, int price) {
    this.name = name;
    this.price = price;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getPrice() {
    return price;
}

public void setPrice(int price) {
    this.price = price;
}
}

And my main looks like this

public class Main {

public static void main(String[] args) {
    Thing Bowl = new Thing("Bowl", 20);
} }

What I would like to do is make a simple XML-document database. So I can add different kind of things in my database. How can I implement this kind of database in my system?


Solution

  • It's not correct to call what you're talking about a database. You just want to save a Java class as an XML file. Jackson is a good library that allows for both JSON and XML encode/decode and using it, can be done as so given a POJO:

    ObjectMapper xmlMapper = new XmlMapper();
    List<Thing> things = new ArrayList<>();
    
    things.add(bowl);
    
    String xmlData = xmlMapper.writeValueAsString(things);
    List<Thing> thingsFromXml = xmlMapper.readValue(xmlData, new TypeReference<List<Thing>>(){});