Dados de Springboot JPA implementa
Ambiente de Desenvolvimento
Requisitos funcionais
Através do relacionamento da associação, todas as lojas de produtos da loja são pesquisadas. A loja é um para muitos para produtos, e o produto é de muitas para as lojas. O Store_ID de chave estrangeira existe no lado múltiplo. Use a instrução INTRA-CONNECT do banco de dados.
Estrutura da tabela
tb_shop
tb_store
Classe de entidade, implementada por anotação
1. Store Class Store.java
pacote com.gaoleei.entity; importar javax.persistence.*; importar java.util.hashset; importar java.util.set;/*** criado por gaolei em 2018/6/25. */ @Entity @tabela (name = "tb_store") public class store {@id @generatedValue (estratégia = generationType.Identity) ID inteiro privado; // Número de string privado da loja; // Nome da loja @onetomany; // shop endereço privado int tel; lojas = novo hashset <Shop> (); // omita os métodos set () e get ();} Categoria de produto Shop.java
pacote com.gaoleei.entity; importar javax.persistence.*; importar java.util.hashset; importar java.util.set;/*** criado por gaolei em 2018/6/25. */ @Entity @tabela (name = "tb_shop") loja de classe pública {@id @generatedValue (estratégia = generationType.Identity) ID inteiro privado; // ID do produto Nome da sequência privada; // Nome do produto Private Int Preço; // Preço do produto Private int num; // Quantidade do produto Informações sobre string privada; // Informações do produto @ManytoOne @Joincolumn (name = "store_id") // loja privada de chave estrangeira loja; // omitis set () e get () métodos;} Storedao.java
A interface Crudrepositório herda da interface do repositório e adicionou métodos simples, como adicionar, excluir e verificar. Existem muitos métodos que foram encapsulados. Não vou delineá -lo aqui. Usarei o Baidu para concluir operações complexas aqui através de instruções HQL personalizadas.
pacote com.gaoleei.dao; importar com.gaolei.entity.store; importar org.springframework.data.jpa.repository.Query; importar org.springframework.data.repository.crudrepositiony; import org.springframework.reteypesty.retopos; Gaolei em 2018/6/25. */@RepositoryPublic Interface Storedao estende Crudrepository <Store, Integer> {// Este método consulta todos os produtos na loja ID =? via uma conexão embutida @Query ("Selecione distintos s na lista interna de ingresso s.shops onde s.id =? 1") Lista <Store> findbyShoplist (ID inteiro);} StoreService.java
Método de implemento injetando Storedao por @Autowired
pacote com.gaolei.service; importar com.gaoleei.dao.storedao; importar com.gaoleei.entity.shop; importar com.gaoleei.entity.store; importação org.springframework.bean.factory.annotation.autired; importação; org.springframework.transaction.annotation.transaction; importar java.util.list;/*** Criado por Gaolei em 2018/6/25. */@Controlador@transactionalpublic classe armazenamento {@autowired private storedao stororedao; / *** Display Store Products**/ Lista pública <Store> findByShoplist (ID inteiro) {return storedao.findbyshoplist (id); }} StoreAction.java
Implementar operação de dados específica
pacote com.gaolei.action; importar com.gaolei.entity.shop; importar com.gaoleei.entity.store; importação com.gaolei.service.shopservice; importar com.gaoleei.service.storeseRice; importação org.springframe.Beans.Factory.AnationAtation.ATorwired; Importwired; Importotern; org.springframework.ui.model; importar org.springframework.web.bind.annotation.requestmapping; importar javax.servlet.http.httpServLeTReQuest; import javax.serv.http.hTtTetLeportSonsponE; java.util.list;/*** Criado por Gaolei em 2018/6/26. */@Controlador@requestmapping ("/store") classe pública storeaction {@aUTowired Private StoreService StoreService; / *** store_shop_menu exibe produtos de armazenamento**/ @requestMapping ("showshop") public String ShowShop (resposta httpServletResponse, httpServletReQuest solicitação, modelo modelo) {string id = request ("store_id_id"); // Obtenha a loja com id =? Através da instrução HQL, e obtenha todos os produtos na lista de lojas <Store> list = storeService.findbyshoplist (Integer.valueof (id)); // O retorno é uma coleção de lojas, a classe da loja e a aula de loja são um para muitos, e as lojas da loja estão na lista <Shop>. Lista <Shop> ShopList = new ArrayList <Shop> (); // Traversal de ciclismo para obter cada loja, adicione -a a uma nova lista <Shop>, que é usada para exibir os dados em primeiro plano. para (loja de armazenamento: list) {System.out.println (store.getName ()); para (loja de lojas: store.getShops ()) {System.out.println (shop.getName ()); ShopList.add (loja); }} model.addattribute ("list", lista de lojas); retornar "admin/showShop"; }}Página de redirecionamento
Lojas visualizadas
Produtos para armazenar
O código front-end é omitido e o principal é que a instrução em @Query ("******************") pode ser usada para obter operações complexas com várias conexões com o banco de dados.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.