먼저 새로운 간단한 데이터 테이블을 만들고이 데이터 테이블을 작동하여 시연합니다.
`items '가있는 경우 드롭 테이블; 테이블 생성`items '(`id` int (11) Not Null Auto_increment,`Title` varchar (255) 기본 널,`name` varchar (10) default null,`detail` varchar (255) 기본 널, 기본 키 (`id`)) 엔진 = innodb auto_increment = 7 default charset = utf8;
JDBCTemplate의 Maven 의존성 및 연결 클래스를 소개합니다
<pectionency> <groupid> org.springframework.boot </groupid> <artifactid> Spring-Boot-Starter-jdbc </artifactid> </depectency> <groupide> mysql </groupid> <artifactid> mysql-connector-java </exceent> </scope> </scope>
Application.Properties 파일에서 Driver 클래스, 데이터베이스 주소, 데이터베이스 계정, MySQL의 비밀번호 정보를 구성하십시오. SRC/Main/Resource 폴더에서 Application.Properties를 작성하십시오.
spring.datasource.url = jdbc : mysql : //127.0.0.1 : 3306/spring? usessl = false spring.datasource.username = root spring.datasource.password = 123456 spring.datasource.driverclass-name = com.mysql.jdbc.datasource.maxl.max-mysql spring.datasource.max-wait = 10000 spring.datasource.min-idle = 5 spring.datasource.initial-size = 5 serv.port = 8080 server.session.timeout = 10 server.tomcat.uri-Encoding = utf-8
새 엔티티 클래스 생성, 속성은 SQL 필드에 해당합니다.
패키지 org.amuxia.start; 공개 수업 항목 {개인 정수 ID; 개인 문자열 제목; 개인 문자열 이름; 개인 문자열 세부 사항; 공개 정수 getId () {return id; } public void setId (정수 ID) {this.id = id; } public string getTitle () {return title; } public void settitle (문자열 제목) {this.title = title; } public String getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } public String getDetail () {return detail; } public void setDetail (문자열 세부 사항) {this.Detail = 세부 사항; } public Ittement () {super (); // todo 자동 생성 생성자 스텁} 공개 항목 (정수 ID, 문자열 제목, 문자열 이름, 문자열 세부 사항) {super (); this.id = id; this.title = 제목; this.name = 이름; this.detail = 세부 사항; } @override public String toString () {return "items [id =" + id + ",, name =" + name + ", detail =" + detail + "]; }}새로운 운영
/** * 새 데이터 * @Param 항목 * @return */@RequestMapping ( "/add") public @ResponseBody String addItems (항목 항목) {String SQL = "항목에 삽입 (ID, 제목, 이름, 세부 사항) 값 (?,?, ?,?); Object Args [] = {items.getId (), items.getTitle (), items.getName (), items.getDetail ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "기사가 성공적으로 추가되었습니다"; } "새로운 오류가 발생했습니다"를 반환합니다. }시험해 보자. http : // localhost : 8080/items/postman 테스트 도구를 추가하십시오
우리는 새로운 추가가 성공했으며 실제로 매우 편리하며 번거로운 구성 정보가 없습니다.
나머지 삭제, 업데이트 작업 및 새 코드는 변경되지 않지만 SQL의 변경 만 변경되지 않으며 여기에는 시연이 없습니다.
모든 쿼리 작업
/** * @return * 모든 정보 쿼리 */@requestmapping ( "/list") public list <map <string, object >> itemsList () {String sql = "select * from items"; list <map <string, object >> list = jdbctemplate.queryforlist (SQL); 반환 목록; }시험해 보자. 우체부 테스트 도구에 http : // localhost : 8080/items/list를 입력하십시오
우리는 새로 추가 된 데이터를 포함하여 발견 된 것을 보았습니다.
SpringBoot의 jdbctemplate 작업을 배우기 위해 모든 추가, 삭제, 수정 및 검색 코드가 ItemsController 클래스에 작성되며, 이는 시연에 편리합니다. 코드는 여기에 게시되며 필요한 경우 실행할 수 있습니다.
패키지 org.amuxia.start; Java.util.list 가져 오기; java.util.map import; org.springframework.beans.factory.annotation.autowired; org.springframework.context.annotation.componentscan; import org.springframework.jdbc.core.jdbctemplate; import org.springframework.web.bind.annotation.pathvariable; org.springframework.web.bind.annotation.requestmapping; org.springframework.web.bind.annotation.responsebody; org.springframework.web.bind.annotation.RestController; @componentscan @RestController @RestController ( "/items") public class itemscontroller {@autowired private jdbctemplate jdbctemplate; /** * @return * 모든 정보 쿼리 */@requestmapping ( "/list") public list <map <string, object >> itemsList () {String sql = "select * from items"; list <map <string, object >> list = jdbctemplate.queryforlist (SQL); 반환 목록; }/** * @param id * @return * id */@requestmapping ( "/detail/{id}")을 기반으로 한 단일 메시지 쿼리 <string, 객체> 세부 사항 (@pathvariable ind) {map <string, object> map = null; list <map <string, object >> list = itemsList (); map = list.get (id); 리턴 맵; }/** * 새 데이터 * @param 항목 * @return */@RequestMapping ( "/add") public @ResponseBody String addItems (항목 항목) {String SQL = "항목에 삽입 (ID, 제목, 이름, 세부 사항) 값 (?,?,?)"; Object Args [] = {items.getId (), items.getTitle (), items.getName (), items.getDetail ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "기사가 성공적으로 추가되었습니다"; } return "기사 추가 오류"; }/** * @param 항목 * @return * 데이터 삭제 */@requestmapping ( "/del") public @ResponseBody String Delitems (항목 항목) {String SQL = "ID =??"; Object Args [] = {items.getId ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "기사가 성공적으로 삭제"; } return "기사 삭제 된 오류"; }/** * @param 항목 * @return * 업데이트 작업 */@requestmapping ( "/upd") public @responsebody string upditems (항목 항목) {String sql = "update set title =?, detail =? where id =?"; Object Args [] = {items.getTitle (), items.getDetail (), items.getId ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "기사가 성공적으로 수정되었습니다"; } "수정 오류"를 반환합니다. }}설명이 있습니다
@componentscan :
@componentscan은 스프링에 자동으로 스프링으로 스캔하고 Bean 용기에로드되는 주석 클래스가 스프링에 알려줍니다. @Controller 주석으로 식별 된 클래스가있는 경우 @CompOnentSCAN이 추가되지 않으면 컨트롤러를 자동으로 스캔하여 스프링으로 컨트롤러가 스캔되지 않으며 스프링 컨테이너에로드되지 않으며 컨트롤러가 작동하지 않습니다.
시작 클래스 코드
패키지 org.amuxia.start; org.springframework.boot.springApplication import; org.springframework.boot.autoconfigure.enableautoconfiguration; 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); }}요약
위는 편집자가 당신에게 소개 한 것입니다. SpringBoot는 jdbctemplate을 사용하여 데이터베이스 추가, 삭제, 수정 및 검색 기능을 완료합니다. 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!