Я знаю, что существуют десятки учебных пособий о том, как сделать это на таком же количестве веб-сайтов, но я впервые пытаюсь подключить таблицу базы данных к пользовательскому интерфейсу, поэтому, когда версия Spring Boot / MyBatis / Vaadin, дляНапример, они отличаются от того, с которым я работаю, или они используют JPA или JDBC вместо MyBatis, я понятия не имею, как изменить его для работы с моей конкретной ситуацией.
Когда люди говорят «это неотличается от любого другого метода «сделать это с помощью», который не помогает ВСЕ, поскольку, как я уже говорил ранее, я никогда не делал этого раньше.Аннотации и классы в примерах кода учебника удаляются и осуждаются с каждой новой версией без четкого объяснения того, как изменить его для работы с более новой версией.Я изучал различные API (Spring Boot, Vaadin, MyBatis) около месяца и имею смутное представление о том, что каждый из них делает, но не о том, как они работают вместе для достижения желаемого результата создания пользовательского интерфейса для базы данных.Я просто очень расстроен тем, как одна устаревшая аннотация или класс в учебнике может привести к краху всего этого.Я знаю, что это было многословно, но я просто хотел, чтобы вы все поняли, откуда я.Я не особенно привязан к какому-либо отдельному API, просто все, что проще.
Мои текущие зависимости:
- Maven : 4.0.0
- Spring Boot: 2.1.2.RELEASE
- Vaadin: 12.0.4
- MyBatis Spring Boot Starter: 2.0.0
Я получил стартовый пакет от Spring Initializrи позже добавил зависимость MyBatis.
У меня есть база данных PostgreSQL 10.5 с 17 таблицами, которая в конечном итоге станет пользовательским интерфейсом для менеджера магазина, который будет использоваться для таких вещей, как просмотр полученных отгрузок товаров, часы работы сотрудника идругие задачи.
Моя база данных называется «store», пользователь: «store», пароль: «store» (если это имеет значение).
Например, вот несколько моих таблиц:
CREATE TABLE IF NOT EXISTS supplier (
id SERIAL,
brand VARCHAR(30) NOT NULL,
phone VARCHAR(15) NOT NULL,
address VARCHAR(100) NOT NULL,
CONSTRAINT pk_supplier PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS shipment (
id SERIAL,
shipdate DATE NOT NULL,
shiptime TIME NOT NULL,
status VARCHAR(10) DEFAULT 'arrived' NOT NULL,
sid INT NOT NULL,
CONSTRAINT pk_shipment PRIMARY KEY (id),
CONSTRAINT fk_shipment_supplier FOREIGN KEY (sid)
REFERENCES supplier(id)
);
CREATE TABLE IF NOT EXISTS shipmentcontains (
shipid INT NOT NULL,
iid INT NOT NULL,
quantity INT NOT NULL,
price DEC(6,2) NOT NULL,
CONSTRAINT pk_shipmentcontains PRIMARY KEY (shipid, iid),
CONSTRAINT fk_shipmentcontains_shipment FOREIGN KEY (shipid)
REFERENCES shipment(id),
CONSTRAINT fk_shipmentcontains_item FOREIGN KEY (iid)
REFERENCES item(id)
);
CREATE TABLE IF NOT EXISTS item (
id SERIAL,
itemtype VARCHAR(25) NOT NULL,
itemsize VARCHAR(10) NOT NULL,
price DEC(5,2) NOT NULL,
sid INT NOT NULL,
CONSTRAINT pk_item PRIMARY KEY (id),
CONSTRAINT fk_item_supplier FOREIGN KEY (sid)
REFERENCES supplier(id)
);
CREATE TABLE IF NOT EXISTS employee (
id SERIAL,
lastname VARCHAR(40) NOT NULL,
firstname VARCHAR(40) NOT NULL,
hourlywage DEC(4,2),
manager BOOLEAN DEFAULT false NOT NULL,
CONSTRAINT pk_employee PRIMARY KEY (id)
);
Если кто-то может дать мне пример кода того, как просто заставить одного из них отображаться в сетке, я уверен, что смогу выяснить, как сделать остальное.У меня есть сведения о соединении в моем файле application.properties
, но я видел, что в более новых версиях MyBatis это не нужно, и аннотации, такие как @Update
, могут использоваться для операторов SQL для замены этого.Кроме того, простым языком, какого черта Spring Bean?Я надеюсь, что это было не слишком долго ... или не достаточно долго.
РЕДАКТИРОВАТЬ: Текущая версия Vaadin 12 является 12.0.4