链表应该返回什么内容,如何将其插入数据库?

时间:2020-10-17 15:02:26

标签: java oracle11g

我有一个.txt,具有以下结构:

0000001|PEPE  |S|REFERENCE1|REFERENCE2|REFERENCE3
0000002|SANSON|S|REFERENCE1|          |
0000003|JSONSY|S|REFERENCE1|REFERENCE2|

我正在研究代码,并希望您发表评论。为什么在链接列表上?这是最好的方法吗?好吧,每个引用都是数据库中的一个寄存器,因此将是这样的:

0000001|PEPE|S|REFERENCE1
0000001|PEPE|S|REFERENCE2
0000001|PEPE|S|REFERENCE3
...

这是正在转换数据的类

public class ScheduleTasks {

    HashMap<Integer, List<Reference>> map = new HashMap<Integer, List<Reference>>();

    private final Logger logger = Logger.getAnonymousLogger();

    public void ReadFile() throws IOException {
        String referencePath = "C:\\Users\\Admin\\Desktop\\PRUEBA.txt";
        BufferedReader br;
        br = new BufferedReader(new FileReader(referencePath));

        this.logger.info("here 2");

        String line = br.readLine();

        Reference ref = new Reference(2, "", 0, "text", true, 0, 0, "", 0);
        this.logger.info("Reading file...");
        while (line != null) {

            if (!line.isEmpty() && line.length() > 9) {
                String[] values = line.split("\\|");
                int service = Integer.parseInt(values[0]);
                List<Reference> references = new LinkedList<Reference>();

                if (values.length >= 4 && !values[3].isEmpty()) {
                    int id = Integer.parseInt(service + "1");

                    ref.setLabel(values[3].trim());
                    ref.setMax_length(0);
                    ref.setService(service);
                    ref.setOrder(0);
                    ref.setName("ref1");
                    ref.setId(id);

                    references.add(ref);
                }

                System.out.println(ref);

                if (values.length >= 5 && !values[4].isEmpty()) {
                    int id = Integer.parseInt(service + "2");

                    ref.setLabel(values[4].trim());
                    ref.setMax_length(0);
                    ref.setService(service);
                    ref.setOrder(1);
                    ref.setName("ref2");
                    ref.setId(id);

                    references.add(ref);

                    System.out.println(ref);
                }

                if (values.length >= 6 && !values[5].isEmpty()) {
                    int id = Integer.parseInt(service + "3");

                    ref.setLabel(values[4].trim());
                    ref.setMax_length(0);
                    ref.setService(service);
                    ref.setOrder(2);
                    ref.setName("ref3");
                    ref.setId(id);

                    references.add(ref);

                   System.out.println(ref);
                }

                this.map.put(service, references);
                System.out.println(service);
                System.out.println(references);
            }
            line = br.readLine();
        }
        br.close();
        System.out.println("end!");
    }
}

但是我在许多示例中都看到,它应该返回包含对象列表的数组,但不会在System.out.println(ref)行中返回该数组;但这会返回我:

[com.test.jobs.model.Reference@f202d6d, com.test.jobs.model.Reference@f202d6d, com.test.jobs.model.Reference@f202d6d]

他们建议我简化此操作,以感谢您的评论将其插入数据库中

0 个答案:

没有答案
相关问题