「java图书检索」检索图书java程序

博主:adminadmin 2022-12-22 15:54:09 62

本篇文章给大家谈谈java图书检索,以及检索图书java程序对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

查询图书信息:按名字查询图书 (Java图书管理系统) 按上架日期查询 按种类查询

将图书信息封装成一个类,根据图书对象中保存的信息进行组装sql语句

如:语句初始化为select * from 图书 where 1=1

组装语句

用一个集合(如:columns)保存要用到的字段名

if(null!=书名){

sql语句append( and 书名=? );

集合.add("书名");

}

if(id0){

append( and id=? );

add("id");

}

if(null!=上架日期){

append( and 上架日期=?);

add("上架日期");

}

遍历集合(columns)

for(int i=0;icolumns.size();i++){

setXX(i+1,对象.getXX());

}

//再执行就o了

求推荐JAVA入门书籍

1,《Head First Java》java入门书籍

《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。

《HeadFirstJava(中文版)(第2版)(涵盖Java5.0)》的图文并茂学习方式能让你快速地在脑海中掌握住知识。敞开心胸准备好学习这些关键性的主题:Java程序语言;面向对象程序开发;Swing图形化接口;使用JavaAPI函数库;编写、测试与部署应用程序;处理异常;多线程;网络程序设计;集合与泛型。

如果你想要看"一本正经"的书,去找其他的。如果你真地想要好好地学习Java,你会需要《Head First Java》。这本书可是Amazon编辑推荐的十大好书之一!强烈推荐学习此书,非常适合初学者入门。

2《Java从入门到精通》适合自学者

《Java从入门到精通》这本书主要针对java基础,对于没有学过java的人才说,是一个不错的选择。通过这本书,大家可以从零开始,慢慢来学习,而且实操很多,不会让你看到最后出现只会理论的情况。为什么说培训的人不用看呢?因为这本书上的内容和许多培训机构的书籍有很多重复的地方,所以参加培训的同学就可以不看了。如果觉得自学太难太慢的话,那就报培训机构吧.

3.《Thinking in java》(中文名:《Java编程思想》)适合中级自学者和培训者

《Java编程思想》可以说是最经典的java著作,是所有java程序员必备教科书。这本书不管是正在学习还是已经工作许多年的程序员,都可以从这本书中得到你想要的东西。这本书具有教材和工具书的作用,就像一本字典,想知道什么都可以从中查询。虽然这本书很好,但并不建议初学者学习,对于初学者难度较大。

4.《疯狂Java讲义》适合自学者看

《疯狂的讲义》这本书比较适合自学者,内容比较项目化,实操方法很多,如果你想进行java的深入学习,不妨看看这本书。

《疯狂Java讲义(第5版)》深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制。覆盖了java.lang、java.util、java.text、和java.nio、java.sql、java.awt、javax.swing包下绝大部分类和接口。本书重点介绍了Java的模块化系统,还详细介绍了Java 10、Java 11的使用var声明局部变量、在Lambda表达式中使用var声明变量、改进的javac命令、基于嵌套的访问控制、HTTP Client网络编程,以及Java 10、Java 11新增的各种API功能。

5.《Java核心技术》最适合报培训班的看

这本书分为两个部分,第一个部分讲的是基础知识,第二个部分讲的是高级特性。由于内容非常有层次,所以非常适合自学和上培训机构的同学学习。尤其对参加培训的同学作用较大,因为一般培训机构讲的非常快,有很多东西没办法及时消化吸收,很多基础和核心的东西就会掌握的不牢固,那么这本书正好弥补了这个缺失。

6.《Java开发实战经典》适合自学者看

该书是一本综合讲解Java核心技术的书籍,在书中使用大量的代码及案例进行知识点的分析与运用,并且给出一些比较成熟的开发步骤,帮助读者更好地进行Java的开发。

从作者多年的Java培训经验来看,大部分学生对各种高端开发都没有任何问题,唯一的问题在于Java基础并不牢固,而且在国内也始终没有一本真正可以引领读者入门的好书籍,大部分的书籍都是围绕概念本身进行讲解的,没有讲解清楚为什么要具备这些知识以及该如何去理解这些知识。本书真正地做到了让每一位读者都能清楚地知道每个知识点的来龙去脉,不仅可以很容易地看懂一个程序,而且能真正地灵活运用程序,编写代码。

在学习编程语言时,环境、代码调试等,都是很多读者最头疼的地方,而且很多代码都会存在一些细节上的问题,所以,本书为了让读者可以更好地理解每一个知识点,将书中所有内容都录制成了视频,让每一位读者真正做到"轻松学Java、从零开始学Java",以优质的视频教学为每一位读者提供最大的支持。

这本书比较适合自学者学习,里面有很多小案例,可以边学边练,巩固知识。

Java编写图书管理系统,使用XML存储

import java.io.File;

import java.io.FileOutputStream;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

import org.dom4j.Document;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

import org.dom4j.io.OutputFormat;

import org.dom4j.io.SAXReader;

import org.dom4j.io.XMLWriter;

public class Book {

    private int no;

    private String name;

    private double value;

    public Book() {

    }

    public Book(int no, String name, double value) {

        this.no = no;

        this.name = name;

        this.value = value;

    }

    public double getValue() {

        return value;

    }

    public void setValue(double value) {

        this.value = value;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public int getNo() {

        return no;

    }

    public void setNo(int no) {

        this.no = no;

    }

}

class BookList {

    private ListBook bookList;

    public BookList() {

        bookList = readXML();

    }

    public long getCount() {

        return bookList.size();

    }

    public ListBook getBookList() {

        return bookList;

    }

    public void setBookList(ListBook bookList) {

        this.bookList = bookList;

    }

    public void add(Book book) {

        bookList.add(book);

    }

    public boolean delete(String name) {

        Book book = query(name);

        return bookList.remove(book);

    }

    public void update(Book bookBefore, Book bookAfter) {

        bookList.remove(bookBefore);

        add(bookAfter);

    }

    public Book query(String name) {

        Book temp = null;

        for (Book book : bookList) {

            if (book.getName().equals(name)) {

                temp = book;

            }

        }

        return temp;

    }

    public synchronized void writeXmlDocument(Book book) {

        try {

            File file = new File("D:\\book.xml");

            Document document = null;

            Element root = null;

            if (!file.exists()) {

                // 新建student.xml文件并新增内容

                document = DocumentHelper.createDocument();

                root = document.addElement("Books");//添加根节点   

            } else {

                SAXReader saxReader = new SAXReader();

                document = saxReader.read(file);

                root = document.getRootElement();//获得根节点

            }

            Element secondRoot = root.addElement("Book");//二级节点   

            //为二级节点添加属性,属性值为对应属性的值   

            secondRoot.addElement("no").setText(book.getNo() + "");

            secondRoot.addElement("name").setText(book.getName() + "");

            secondRoot.addElement("value").setText(book.getValue() + "");

            OutputFormat format = OutputFormat.createPrettyPrint();

            format.setEncoding("GBK");

            XMLWriter writer = new XMLWriter(new FileOutputStream("D:\\book.xml"), format);

            writer.write(document);

            writer.close();

            document.clearContent();

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

    public synchronized ListBook readXML() {

        ListBook list = new ArrayListBook();//创建list集合   

        File file = null;

        try {

            file = new File("D:\\book.xml");//读取文件   

            if (file.exists()) {

                SAXReader saxReader = new SAXReader();

                Document document = saxReader.read(file);

                List nodeList = document.selectNodes("Books/Book");

                for (int i = 0; i  nodeList.size(); i++) {

                    Element el = (Element) nodeList.get(i);

                    Book book = new Book();

                    book.setNo(Integer.parseInt(el.elementText("no")));

                    book.setName(el.elementText("name"));

                    book.setValue(Double.parseDouble(el.elementText("value")));

                    list.add(book);

                }

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

        return list;

    }

}

class Test {

    public static void main(String args[]) {

        BookList bl = new BookList();

        boolean bBreak = true;

        while (bBreak) {

            System.out.println("请输入操作代码:");

            System.out.println("1:添加 2:删除 3:修改 4:查询 5:书籍统计 6:退出");

            Scanner sc = new Scanner(System.in);

            int code = sc.nextInt();

            if (code == 1) {

                System.out.println("请输入编号");

                int no = sc.nextInt();

                System.out.println("请输入书名");

                String name = sc.next();

                System.out.println("请输入售价");

                double value = sc.nextDouble();

                Book book = new Book(no, name, value);

                bl.add(book);

                bl.writeXmlDocument(book);

            } else if (code == 2) {

                System.out.println("请输入要删除的书籍名");

                String name = sc.next();

                if (bl.delete(name)) {

                    System.out.println("删除成功");

                } else {

                    System.out.println("书籍不存在");

                }

            } else if (code == 3) {

                System.out.println("请输入要修改的书籍名");

                String name = sc.next();

                Book bookBefore = bl.query(name);

                System.out.println("请输入新的编号");

                int newNo = sc.nextInt();

                System.out.println("请输入新的书名");

                String newName = sc.next();

                System.out.println("请输入新的售价");

                double value = sc.nextDouble();

                Book bookAfter = new Book(newNo, newName, value);

                bl.update(bookBefore, bookAfter);

            } else if (code == 4) {

                System.out.println("请输入要查询的书籍名");

                String name = sc.next();

                Book book = bl.query(name);

                System.out.println("编号:" + book.getNo() + " 书名:" + book.getName() + " 售价:" + book.getValue());

            } else if (code == 5) {

                ListBook list = bl.getBookList();

                System.out.println("总书籍数:" + bl.getCount());

                for (Book book : list) {

                    System.out.println("编号:" + book.getNo() + " 书名:" + book.getName() + " 售价:" + book.getValue());

                }

            } else if (code == 6) {

                bBreak = false;

            }

        }

    }

}

jar 包  dom4j.jar  jaxen-1.1.4.jar

java图书检索的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于检索图书java程序、java图书检索的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。