Домашняя страница автора:Designer Сяо Чжэн Об авторе:3ГодJAVAПолный опыт разработки,Сосредоточьтесь на технологии JAVA, настройке и удаленном руководстве.,Приверженность цифровой трансформации предприятия,Сертифицированный инструктор CSDN Academy и Blue Bridge Cloud Course.
Опять выпускной сезон,Недавним выпускникам школа учит только теоретическим знаниям, но работу найти сложно.,Сегодня это норма для большинства выпускников.
Недавно я ответил на вопрос однокласснику«Какие навыки вам нужны, чтобы получить степень в области компьютерных наук, чтобы найти работу?»вопрос,Это вдохновило меня снова написать «Открытый». исходный код проекта желание.
Проект с открытым исходным кодом относится к программному обеспечению или другому типу проекта, исходный код которого общедоступен и может быть просмотрен, использован, изменен и распространен кем угодно. Целью проектов с открытым исходным кодом является содействие сотрудничеству, совместному использованию и инновациям, а также улучшение качества и функциональности программного обеспечения за счет предоставления возможности участвовать большему количеству людей.
Чтобы помочь новичкам лучше начать работу с полным стеком Java, планируется
Разработано до конца года
Набор проектов с открытым исходным кодом возвращается фанатам для изучения и использования новичками.
Эта статья представляет собой первый проект с открытым исходным кодом - «Система управления библиотекой», в котором есть библиотечный модуль, модуль типа книги, модуль книги, модуль выдачи книг и модуль объявлений. Студенты могут попрактиковаться с этим проектом и узнать о нем. Фреймворки Vue и Spring Boot Имеют более четкое понимание.
Что касается исходного кода, вы можете найти его по адресу Git Репозиторий исходного кодаСамостоятельная загрузка,О дополнительных услугах вы можете узнать в Наклейка с правилами поддержки проектов с открытым исходным кодом Консалтинг.
Система управления библиотекой представляет собой программную систему, используемую для управления библиотечными ресурсами. Система включает в себя библиотечный модуль, модуль типа книги, модуль книги, модуль выдачи книг и модуль объявлений.。
библиотечный модульдасистемаосновной модуль,Основная информация для управления библиотекой,Включает название библиотеки, адрес, Контактную информацию. информация и т. д. Участники управления могут добавлять информацию о библиотеке через этот модуль、Изменить иудалить.
книжный модуль типаиспользуется дляуправлять Информация о классификации книг。управлять Пользователи могут добавлять в этот модуль разные типы книг.,Такие как литература, история, технологии и т. д.,Это облегчает читателям поиск и получение книг.
Книжный модульдасистема Один из самых важных модулей в,Основная информация для управления книгами,Включая название книги, автора, издателя, ISBN и т. д. Участники управления могут добавлять, изменять и удалять информацию о книге в этом модуле.,И вы можете установить количество книг в инвентаре.
Модуль выдачи книгда Читатели используютсистемаосновной модуль№1,Читатели могут проверить статус заимствования книг с помощью этого модуля.,Вы также можете брать и возвращать книги. система автоматически запишет запись о заимствовании и дату возврата,И напомните читателям вернуть книги.
Модуль объявленийиспользуется для Рассылать читателям объявления, связанные с библиотекой.иобъявление,Участники управления могут размещать объявления в этом модуле,И вы можете установить срок действия объявления. Читатели могут просмотреть самую свежую информацию об объявлениях через этот модуль.
Система управления библиотекой может эффективно управлять библиотечными ресурсами, предоставлять удобные услуги по выдаче книг и своевременно предоставлять читателям информацию и объявления, связанные с библиотекой.
Система управления библиотекой позволяет пользователям вводить номер своей учетной записи, пароль и графический код проверки для завершения входа в систему. Интерфейс выглядит следующим образом.
Если у пользователя нет учетной записи, он может пройти самостоятельную регистрацию, а затем войти в систему, как показано на рисунке ниже.
После входа в систему интерфейс выглядит так, как показано ниже.
Библиотечный модуль является одним из основных модулей системы управления библиотекой. Он в основном отвечает за управление основной информацией библиотеки.
Модуль библиотеки записывает и управляет основной информацией о библиотеке, такой как название библиотеки, адрес, контактная информация и т. д. Эта информация важна для читателей. Они могут узнать местонахождение и контактную информацию библиотеки через систему запросов, что облегчает им получение книг. Основной интерфейс показан на рисунке ниже.
Модуль библиотеки позволяет администраторам управлять настройками библиотеки. Модуль библиотеки может предоставлять соответствующую информацию о библиотеке. Интерфейс добавления показан на рисунке ниже.
Библиотечный модуль является неотъемлемой частью системы управления библиотекой. Он обеспечивает функции управления и запроса базовой информации, настроек, ресурсов и статистических данных библиотеки, помогая повысить эффективность управления библиотекой и удобство пользования читателями.
Для системы управления книгами требуется модуль типа книги, поскольку модуль типа книги имеет решающее значение для классификации и управления книгами. Основной интерфейс показан на рисунке ниже.
Модуль типов книг позволяет администраторам классифицировать книги и управлять ими. Классифицируя книги по разным категориям, читатели смогут легче находить и брать книги, которые их интересуют. Например, книги можно разделить на литературу, историю, технологии и т. д. Читатели могут брать книги в соответствии со своими интересами и потребностями. Интерфейс добавления модуля типа книги показан на рисунке ниже.
Модуль «Тип книги» обеспечивает быстрый способ поиска книг. Читатели могут выполнять поиск по типам книг, чтобы быстро найти нужные им книги. Это может повысить эффективность поиска читателей и сэкономить время. Интерфейс редактирования показан на рисунке ниже.
Модуль типов книг играет важную роль в системе управления книгами. Он может классифицировать книги и управлять ими, чтобы облегчить читателям поиск и получение книг. Он также предоставляет такие функции, как ограничения на заимствование и персонализированные рекомендации, что повышает эффективность системы управления книгами. и читателей. Пользователи могут удалять ненужные типы книг, как показано на рисунке ниже.
Для системы управления книгами требуется модуль книги, поскольку модуль книги является одним из наиболее важных модулей в системе. Он используется для управления основной информацией о книгах. Основной интерфейс выглядит следующим образом.
Модуль книги отвечает за запись и управление основной информацией о книгах, такой как название книги, автор, издатель, ISBN и т. д. Администраторы могут добавлять, изменять и удалять информацию о книге в этом модуле, чтобы обеспечить точность и полноту информации о книге. Интерфейс ввода книги показан на рисунке ниже.
Читатели могут запрашивать и извлекать книги через книжный модуль. По названию книги, автору, ISBN и другим ключевым словам читатели смогут быстро найти интересующие их книги и повысить эффективность поиска книг.
Модуль книги играет ключевую роль в системе управления книгами, благодаря чему читатели могут легко получать и использовать ресурсы книги, а также обеспечивает эффективную работу системы управления книгами. Интерфейс редактирования книг показан на рисунке ниже.
Для системы управления книгами требуется модуль выдачи книг, поскольку модуль выдачи книг является одним из основных модулей системы. Он отвечает за обработку всех аспектов процесса выдачи книг. Основной интерфейс модуля выдачи книг показан на рисунке ниже. .
Модуль обеспечивает бухгалтерский учет。
Читатели могут узнать об истории своих заимствований, текущем статусе заимствований и другую информацию, запросив записи о заимствованиях.
Администраторы могут использовать этот модуль для ведения статистики и анализа записей о выдаче книг, понимания ситуации с заимствованиями книг и формулирования более разумных планов покупки книг.
Пользователи могут нажать кнопку «Добавить», чтобы завершить регистрацию для получения книг, как показано на рисунке ниже.
Читатели могут проверить детали своего заимствования, как показано на рисунке ниже.
Администратор может нажать кнопку возврата, чтобы заполнить заявку на возврат учебников учащегося, как показано на рисунке ниже.
Модуль выдачи книг незаменим в системе управления книгами. Он обеспечивает управление заимствованиями, управление записями о заимствованиях и другие функции, предоставляя читателям удобные услуги по заимствованию, а также предоставляет администраторам функции управления данными о заимствованиях.
Системе управления библиотекой необходим модуль объявлений для реализации обмена информацией и связи с читателями и администраторами. Основной интерфейс показан на рисунке ниже.
Модуль объявлений можно использовать для выпуска важных уведомлений и объявлений для читателей и администраторов. Например, через модуль объявлений можно публиковать информацию о временном закрытии библиотеки, изменениях в правилах выдачи книг, планах покупки книг и другую важную информацию. администраторы могут своевременно узнавать соответствующую информацию. Администраторы могут публиковать объявления, как показано ниже.
Класс сущности:
@Table(name = "a_library")
@TableName("a_library")
@ApiModel(value = "библиотека")
public class Library extends ZwzBaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = «Имя библиотеки»)
private String title;
@ApiModelProperty(value = «Адрес библиотеки»)
private String address;
@ApiModelProperty(value = «Дверное фото»)
private String image;
@ApiModelProperty(value = «статус открытия»)
private String status;
@ApiModelProperty(value = «Реплика»)
private String remark;
}
Интерфейс запроса:
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = «Искать в библиотеке»)
public Result<IPage<Library>> getByPage(@ModelAttribute Library library ,@ModelAttribute PageVo page){
QueryWrapper<Library> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(library.getTitle())) {
qw.like("title",library.getTitle());
}
if(!ZwzNullUtils.isNull(library.getAddress())) {
qw.like("address",library.getAddress());
}
IPage<Library> data = iLibraryService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Library>>().setData(data);
}
Дизайн класса сущности:
@Table(name = "a_book_type")
@TableName("a_book_type")
@ApiModel(value = «книжный тип»)
public class BookType extends ZwzBaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = «книжный тип»)
private String title;
@ApiModelProperty(value = «тип статуса»)
private String status;
@ApiModelProperty(value = «сортировать значение»)
private BigDecimal sortOrder;
@ApiModelProperty(value = «Реплика»)
private String remark;
}
Интерфейс запроса:
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = «Тип книги запросов»)
public Result<IPage<BookType>> getByPage(@ModelAttribute BookType bookType ,@ModelAttribute PageVo page){
QueryWrapper<BookType> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(bookType.getTitle())) {
qw.like("title",bookType.getTitle());
}
if(!ZwzNullUtils.isNull(bookType.getStatus())) {
qw.eq("status",bookType.getStatus());
}
IPage<BookType> data = iBookTypeService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<BookType>>().setData(data);
}
Дизайн класса сущности:
@Table(name = "a_book")
@TableName("a_book")
@ApiModel(value = «книги»)
public class Book extends ZwzBaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = «название книги»)
private String title;
@ApiModelProperty(value = «Издательство»)
private String press;
@ApiModelProperty(value = «книжный тип»)
private String type;
@ApiModelProperty(value = "ISBN")
private String isbn;
@ApiModelProperty(value = "картина")
private String image;
@ApiModelProperty(value = «Реплика»)
private String remark;
}
Интерфейс запроса:
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = «Поиск книг»)
public Result<IPage<Book>> getByPage(@ModelAttribute Book book ,@ModelAttribute PageVo page){
QueryWrapper<Book> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(book.getTitle())) {
qw.like("title",book.getTitle());
}
if(!ZwzNullUtils.isNull(book.getIsbn())) {
qw.like("isbn",book.getIsbn());
}
IPage<Book> data = iBookService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Book>>().setData(data);
}
Дизайн класса сущности:
@Table(name = "a_book_borrowing")
@TableName("a_book_borrowing")
@ApiModel(value = «Книговыдача»)
public class BookBorrowing extends ZwzBaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = «Идентификатор книги»)
private String bookId;
@ApiModelProperty(value = «название книги»)
private String bookName;
@ApiModelProperty(value = «Книжный ISBN»)
private String bookIsbn;
@ApiModelProperty(value = «Идентификатор заемщика»)
private String userId;
@ApiModelProperty(value = «Заемщик»)
private String userName;
@ApiModelProperty(value = «Время займа»)
private String time1;
@ApiModelProperty(value = «Статус займа»)
private String status;
@ApiModelProperty(value = «Время возвращения»)
private String time2;
}
Интерфейс запроса:
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = «Запрос на выдачу книг»)
public Result<IPage<BookBorrowing>> getByPage(@ModelAttribute BookBorrowing bookBorrowing ,@ModelAttribute PageVo page){
QueryWrapper<BookBorrowing> qw = new QueryWrapper<>();
User currUser = securityUtil.getCurrUser();
qw.eq("user_id",currUser.getId());
if(!ZwzNullUtils.isNull(bookBorrowing.getBookName())) {
qw.like("book_name",bookBorrowing.getBookName());
}
if(!ZwzNullUtils.isNull(bookBorrowing.getUserName())) {
qw.like("user_name",bookBorrowing.getUserName());
}
IPage<BookBorrowing> data = iBookBorrowingService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<BookBorrowing>>().setData(data);
}
Дизайн класса сущности:
@Table(name = "a_notice")
@TableName("a_notice")
@ApiModel(value = "объявление")
public class Notice extends ZwzBaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = «Заголовок объявления»)
private String title;
@ApiModelProperty(value = «Содержание объявления»)
private String content;
@ApiModelProperty(value = "картина")
private String image;
@ApiModelProperty(value = «Статус выпуска»)
private String status;
}
Интерфейс запроса:
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = «Объявление о запросе»)
public Result<IPage<Notice>> getByPage(@ModelAttribute Notice notice ,@ModelAttribute PageVo page){
QueryWrapper<Notice> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(notice.getTitle())) {
qw.like("title",notice.getTitle());
}
if(!ZwzNullUtils.isNull(notice.getContent())) {
qw.like("content",notice.getContent());
}
IPage<Notice> data = iNoticeService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Notice>>().setData(data);
}
Наконец, исходный код можно найти по адресу Git Репозиторий исходного кода Загрузку для самообслуживания, информацию о дополнительных услугах можно найти в Наклейка с правилами поддержки проектов с открытым исходным кодом China Consulting, я надеюсь, что этот вводный проект будет полезен студентам!