中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot使用JdbcTemplate完成對數據庫的增刪改查功能

發布時間:2020-10-19 15:06:33 來源:腳本之家 閱讀:177 作者:阿木俠 欄目:編程語言

首先新建一個簡單的數據表,通過操作這個數據表來進行演示

DROP TABLE IF EXISTS `items`; 
CREATE TABLE `items` ( 
 `id` int(11) NOT NULL AUTO_INCREMENT, 
 `title` varchar(255) DEFAULT NULL, 
 `name` varchar(10) DEFAULT NULL, 
 `detail` varchar(255) DEFAULT NULL, 
 PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; 

引入JdbcTemplate的maven依賴及連接類

<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> 

在application.properties文件配置mysql的驅動類,數據庫地址,數據庫賬號、密碼信息,application.properties新建在src/main/resource文件夾下

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/spring?useSSL=false 
spring.datasource.username=root 
spring.datasource.password=123456 
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
spring.datasource.max-idle=10 
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-encoding=UTF-8 

新建一個實體類,屬性對應sql字段

package org.amuxia.start; 
public class Items { 
 private Integer id; 
 private String title; 
 private String name; 
 private String detail; 
 public Integer getId() { 
  return id; 
 } 
 public void setId(Integer id) { 
  this.id = id; 
 } 
 public String getTitle() { 
  return title; 
 } 
 public void setTitle(String title) { 
  this.title = title; 
 } 
 public String getName() { 
  return name; 
 } 
 public void setName(String name) { 
  this.name = name; 
 } 
 public String getDetail() { 
  return detail; 
 } 
 public void setDetail(String detail) { 
  this.detail = detail; 
 } 
 public Items() { 
  super(); 
  // TODO Auto-generated constructor stub 
 } 
 public Items(Integer id, String title, String name, String detail) { 
  super(); 
  this.id = id; 
  this.title = title; 
  this.name = name; 
  this.detail = detail; 
 } 
 @Override 
 public String toString() { 
  return "Items [id=" + id + ", title=" + title + ", name=" + name + ", detail=" + detail + "]"; 
 } 
} 

新增操作

/** 
  * 新增數據 
  * @param items 
  * @return 
  */ 
 @RequestMapping("/add") 
 public @ResponseBody String addItems(Items items) { 
  String sql = "insert into items (id,title,name,detail) value (?,?,?,?)"; 
  Object args[] = {items.getId(),items.getTitle(),items.getName(),items.getDetail()}; 
  int temp = jdbcTemplate.update(sql, args); 
  if(temp > 0) { 
   return "文章新增成功"; 
  } 
  return "新增出現錯誤"; 
 } 

我們做一個測試。在postman測試工具中輸入http://localhost:8080/items/add

springboot使用JdbcTemplate完成對數據庫的增刪改查功能

我們可以看到,新增已經成功了,確實很方便,也沒有繁瑣的配置信息。

其余刪除,更新操作與新增代碼不變,只是sql的變化,這里不做演示。

全部查詢操作

/** 
  * @return 
  * 查詢全部信息 
  */ 
 @RequestMapping("/list") 
 public List<Map<String, Object>> itemsList() { 
  String sql = "select * from items"; 
  List<Map<String, Object>> list = jdbcTemplate.queryForList(sql); 
  return list; 
 } 

我們做一個測試。在postman測試工具中輸入http://localhost:8080/items/list

我們看到,包括剛才新增的數據,都已經被查出來了。

springboot使用JdbcTemplate完成對數據庫的增刪改查功能

這里為了學習一下springboot的JdbcTemplate操作,所有增刪改查代碼都寫在ItemsController類中,也方便演示,這里把代碼貼出來,需要的可以運行一下

package org.amuxia.start; 
import java.util.List; 
import java.util.Map; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.context.annotation.ComponentScan; 
import org.springframework.jdbc.core.JdbcTemplate; 
import org.springframework.web.bind.annotation.PathVariable; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.ResponseBody; 
import org.springframework.web.bind.annotation.RestController; 
@ComponentScan 
@RestController 
@RequestMapping("/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); 
  return list; 
 } 
 /** 
  * @param id 
  * @return 
  * 根據ID查詢單條信息 
  */ 
 @RequestMapping("/detail/{id}") 
 public Map<String, Object> detail(@PathVariable int id) { 
  Map<String, Object> map = null; 
  List<Map<String, Object>> list = itemsList(); 
  map = list.get(id); 
  return map; 
 } 
 /** 
  * 新增數據 
  * @param items 
  * @return 
  */ 
 @RequestMapping("/add") 
 public @ResponseBody String addItems(Items items) { 
  String sql = "insert into items (id,title,name,detail) value (?,?,?,?)"; 
  Object args[] = {items.getId(),items.getTitle(),items.getName(),items.getDetail()}; 
  int temp = jdbcTemplate.update(sql, args); 
  if(temp > 0) { 
   return "文章新增成功"; 
  } 
  return "新增出現錯誤"; 
 } 
 /** 
  * @param items 
  * @return 
  * 刪除數據 
  */ 
 @RequestMapping("/del") 
 public @ResponseBody String delItems(Items items) { 
  String sql = "delete from items where id = ?"; 
  Object args[] = {items.getId()}; 
  int temp = jdbcTemplate.update(sql, args); 
  if(temp > 0) { 
   return "文章刪除成功"; 
  } 
  return "刪除出現錯誤"; 
 } 
 /** 
  * @param items 
  * @return 
  * 更新操作 
  */ 
 @RequestMapping("/upd") 
 public @ResponseBody String updItems(Items items) { 
  String sql = "update items set title = ?,detail = ? where id = ?"; 
  Object args[] = {items.getTitle(),items.getDetail(),items.getId()}; 
  int temp = jdbcTemplate.update(sql, args); 
  if(temp > 0) { 
   return "文章修改成功"; 
  } 
  return "修改出現錯誤"; 
 } 
} 

這里解釋一個注解

@ComponentScan:

        @ComponentScan告訴Spring 哪個注解標識的類會被spring自動掃描并且裝入bean容器。如果你有個類用@Controller注解標識了,那么,如果不加上@ComponentScan自動掃描該controller,那么該Controller就不會被spring掃描到,更不會裝入spring容器中,Controller就不會起作用。

啟動類代碼

package org.amuxia.start; 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; 
import 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完成對數據庫的增刪改查功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澎湖县| 湟源县| 安化县| 南投市| 杭州市| 淮北市| 沭阳县| 融水| 健康| 山丹县| 新兴县| 黄浦区| 略阳县| 北安市| 阜新| 芦溪县| 霍城县| 山东省| 江达县| 武邑县| 宁阳县| 永昌县| 江安县| 府谷县| 共和县| 大连市| 阜城县| 商都县| 凉山| 绵阳市| 登封市| 大理市| 大关县| 达州市| 大新县| 福安市| 三河市| 山阳县| 吉安市| 兰溪市| 砚山县|