Primeiro, crie uma nova tabela de dados simples e demonstre operar esta tabela de dados
Soltar tabela se existe `itens`; Crie a tabela `itens` (` id` int (11) não nula auto_increment, `title` Varchar (255) NULL padrão,` name` Varchar (10) NULL padrão, `detalhe` varchar (255) NULL DAULTE, CHARRET, PRIMÁRIO (` id`)) mecan
Introduce a dependência do Maven e a classe de conexão do JDBCTemplate
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
No arquivo Application.Properties, configure a classe Driver, endereço do banco de dados, conta do banco de dados, informações de senha do MySQL. Crie Application.Properties na pasta SRC/Main/Resource.
spring.dataSource.url = jdbc: mysql: //127.0.0.1: 3306/spring? usessl = false spring.dataSource.username = raiz spring.dataSource.password = 123456 spring.datasource. spring.dataSource.max-wait = 10000 spring.dataSource.min-idle = 5 spring.datasource.initial-size = 5 server.port = 8080 server.session.timeout = 10 server.tomcat.uri-coding = utf-8
Crie uma nova classe de entidade, as propriedades correspondem ao campo SQL
pacote org.amuxia.start; Public classe itens {ID inteiro privado; título de sequência privada; nome de string privado; Detalhes de String Private; public integer getId () {return id; } public void SetId (ID inteiro) {this.id = id; } public string gettitle () {return título; } public void Settitle (título da string) {this.title = title; } public string getName () {return name; } public void setName (nome da string) {this.name = name; } public string getDetail () {return detalhe; } public void setDetail (String detalhe) {this.Detail = detalhe; } public itens () {super (); // TODO Construtor GOERATADO AUTO GERODO} itens públicos (ID inteiro, título da string, nome da string, detalhe da string) {super (); this.id = id; this.title = title; this.name = nome; this.Detail = detalhe; } @Override public string tostring () {return "itens [id =" + id + ",, name =" + name + ", detalhe =" + detalhe + "]"; }}Novas operações
/** * Novos dados * @param itens * @return */@requestMapping ("/add") public @ResponseBody String addItems (itens itens) {string sql = "inserir em itens (id, título, nome, detalhe) valor (?,?,?,?)"; Objeto args [] = {items.getId (), items.getTitle (), items.getName (), items.getDetail ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "Artigo adicionado com sucesso"; } retornar "Ocorreu um novo erro"; }Vamos fazer um teste. Digite http: // localhost: 8080/itens/adicione a ferramenta de teste do pós -homem
Podemos ver que a nova adição foi bem -sucedida, é realmente muito conveniente e não há informações de configuração complicada.
As excluídas restantes, as operações de atualização e o novo código permanecem inalteradas, mas apenas alterações no SQL e nenhuma demonstração é dada aqui.
Todas as operações de consulta
/** * @RETURN * consulta todas as informações */@RequestMapping ("/list") Lista pública <map <string, object >> itensList () {string sql = "selecione * de itens"; List <map <string, object>> list = jdbcTemplate.QueryForList (SQL); lista de retorno; }Vamos fazer um teste. Digite http: // localhost: 8080/itens/lista na ferramenta de teste do pós -homem
Vimos que, incluindo os dados recém -adicionados, foram encontrados.
Para aprender a operação JDBCTemplate do Springboot, toda a adição, exclusão, modificação e códigos de pesquisa são gravados na classe ItemScontroller, que também é conveniente para demonstração. O código é publicado aqui e você pode executá -lo, se precisar.
pacote org.amuxia.start; importar java.util.list; importar java.util.map; importar org.springframework.beans.factory.annotation.autowired; importar org.springframework.context.annotation.comPONENTSCAN; importar org.springframework.jdbc.core.jdbctemplate; importar org.springframework.web.bind.annotation.pathvariable; importar org.springframework.web.bind.annotation.requestmapping; importar org.springframework.web.bind.annotation.ResponseBody; importar org.springframework.web.bind.annotation.restcontroller; @ComponentsCan @RestController @ReQuestMapping ("itens") Public Class ItemScontroller {@AUTOWIRED PRIVADO JDBCTEMPLATE JDBCTEMPLATE; /** * @RETURN * consulta todas as informações */@RequestMapping ("/list") Lista pública <map <string, object >> itensList () {string sql = "selecione * de itens"; List <map <string, object>> list = jdbcTemplate.QueryForList (SQL); lista de retorno; }/** * @param id * @return * Consulta uma única mensagem com base no id */@requestMapping ("/detalhe/{id}") public map <string, object> detalhe (@pathvariable int id) {map <string, object> map = null; Lista <map <string, object >> list = itensList (); map = list.get (id); mapa de retorno; }/** * Novos dados * @param itens * @return */@requestMapping ("/add") public @ResponseBody String addItems (itens itens) {string sql = "inserir em itens (id, título, nome, detalhe) valor (?,?,?,?)"; Objeto args [] = {items.getId (), items.getTitle (), items.getName (), items.getDetail ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "Artigo adicionado com sucesso"; } retornar "Erro adicionado ao artigo"; }/** * itens @param * @return * Excluir dados */@RequestMapping ("/del") public @ResponseBody String Delitems (itens itens) {string sql = "exclua dos itens onde id =?"; Objeto args [] = {items.getId ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "Artigo exclua com sucesso"; } retornar "Erro excluído do artigo"; }/** * itens @param * @return * Atualizar operação */@RequestMapping ("/UPD") public @ResponseBody String UpdiTems (itens itens) {String sql = "Atualizar itens Definir title =?, Detalhe =? Onde ID =?"; Objeto args [] = {items.getTitle (), items.getDetail (), items.getId ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "Artigo modificado com sucesso"; } retornar "erro na modificação"; }}Aqui está uma explicação
@ComponentsCan:
@ComponentsCan informa à primavera que aula de anotação será automaticamente digitalizada pela primavera e carregada no contêiner de feijão. Se você tiver uma classe identificada com a anotação @Controller, se o @ComponentsCan não for adicionado para digitalizar automaticamente o controlador, o controlador não será digitalizado na primavera e não será carregado no recipiente de mola e o controlador não funcionará.
Código da classe de inicialização
pacote org.amuxia.start; importar org.springframework.boot.springApplication; importar org.springframework.boot.autoconfigure.enableautoconfiguration; importar org.springframework.web.bind.annotation.restcontroller; @RestController @enableautoconfiguration public class App {public static void main (string [] args) {System.out.println ("start ..."); Springapplication.run (itemsController.class, args); }}Resumir
O exposto acima é o que o editor apresentou a você. O Springboot usa o JDBCTemplate para concluir a função de adição, exclusão, modificação e pesquisa do banco de dados. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!