日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot+MyBatis包含MyBatis Plus实现数据的增删改查(详细过程,适合新手小白)

發(fā)布時間:2023/12/29 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot+MyBatis包含MyBatis Plus实现数据的增删改查(详细过程,适合新手小白) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

首先引入相應(yīng)的依賴(創(chuàng)建SpringBoot項目這里就不再多說了)

修改pom.xml

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.1.0</version></dependency>

配置

server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/system_map?&allowMultiQueries=true&useUnicode=true&serverTimezone=UTC&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull spring.datasource.username=root spring.datasource.password=(密碼) spring.datasource.driver-class-name=com.mysql.jdbc.Driver


這里的system_map為數(shù)據(jù)庫對應(yīng)的表名

結(jié)構(gòu)目錄

首先寫實(shí)體層entity

@Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) public class Building {// 與表中字段名一一對應(yīng)@TableId(value="building_id", type = IdType.AUTO)private Integer buildingId;@TableField(value="park_id")private Integer parkId;@TableField(value="building_name")private String buildingName;@TableField(value="geojson")private String geojson;@TableField(value="osm_id")private Integer osmId;@TableField(value="description")private String description; }

對應(yīng)的數(shù)據(jù)庫表結(jié)構(gòu)

其中@Data為lombok注解,可以省略get,set方法。

service層

結(jié)構(gòu)

接口

List<Building> findAllBuildings();Building findByBuildingId(int bId);void deleteByBuildingId(int bId);void addBuilding(Building building);void updateBuilding(Building building);

實(shí)現(xiàn)接口類

@Service public class BuildingServiceImpl implements BuildingService {@Autowiredprivate BuildingMapper buildingMapper;@Overridepublic List<Building> findAllBuildings() {return buildingMapper.findAllBuildings();}//根據(jù)building的ID查詢building@Overridepublic Building findByBuildingId(int bId) {return buildingMapper.selectById(bId);}//根據(jù)building的ID刪除building@Overridepublic void deleteByBuildingId(int bId) {if("null".equals(String.valueOf(bId)) || bId <= 0){}buildingMapper.deleteById(bId);}//添加@Overridepublic void addBuilding(Building building) {buildingMapper.insert(building);}//修改@Overridepublic void updateBuilding(Building building) {buildingMapper.updateById(building);}

Mapper層

注意上面的service層中的實(shí)現(xiàn)接口類中調(diào)用的都是MyBatis Plus中的方法,
也就是需要extends BaseMapper<實(shí)體類名>,下面的注解Sql語句為MyBatis的使用方法,只需要在service層中的實(shí)現(xiàn)接口類中調(diào)用相應(yīng)的方法名即可。

@Mapper @Repository public interface BuildingMapper extends BaseMapper<Building> {//列出全部building @Select("select * from building") List<Building> findAllBuildings(); //查 @Select("select * from building where building_id = #{bId}") Building findByBuilingId(int bId);//刪@Delete("delete from building where building_id = #{bId}")void deleteByBuildingId(int bId); // 增 @Insert("insert into building (building_id,park_id,building_name,geojson,osm_id,description) " +"values (#{buildingId},#{parkId},#{buildingName},#{geojson},#{osmId},#{description})") void addBuilding(Building building); //改@Update("update building set building_name=#{building_name}, geojson=#{geojson},department=#{department},osm_id=#{osmId},park_id=#{parkId} where building_id=#{buildingId}")void updateBuildingById(Building building); }

Controller層

@Controller @ResponseBody @Slf4j public class BuildingController {@Autowiredprivate BuildingService buildingService;//查 查詢?nèi)?#64;CrossOrigin //解決跨域問題@RequestMapping(value = "/api/findAllBuildings",method = RequestMethod.GET, produces = "application/json; charset=UTF-8")public List<Building> findAllBuildings(){return buildingService.findAllBuildings();}//@PathVariable作用: 將URL中占位符參數(shù){xxx}綁定到處理器類的方法形參中@PathVariable(“xxx“) 這里xxx代表bId//查 根據(jù)buildingId查詢 測試url:http://localhost:8080/api/findByBuildingId/1@RequestMapping("/api/findByBuildingId/{bId}")public Building findByBuildingId(@PathVariable int bId){Building building = buildingService.findByBuildingId(bId);return building;}//刪 根據(jù)BuildingId刪除 測試url:http://localhost:8080/api/deleteByBuildingId/23@RequestMapping("/api/deleteByBuildingId")public boolean deleteByBuildingId(@RequestParam("bId") int bId){try{buildingService.deleteByBuildingId(bId);}catch (Exception e){e.printStackTrace();return false;}return true;}// 增// 11// 測試url: http://localhost:8080/api/addBuilding?key1=value1&key2=value2&.......// 例如 http://localhost:8080/api/addBuilding?buildingId=9&parkId=111&buildingName=111&geojson=111&osmId=111&description=1111@RequestMapping("/api/addBuilding")public boolean addBuilding(Building building){try{buildingService.addBuilding(building);}catch (Exception e){e.printStackTrace();return false;}return true;}// 改 根據(jù)BuildingId修改// 測試url:http://localhost:8080/api/updateBuildingById?buildingId=1&parkId=1&buildingName=111&geojson=111&osmId=111&description=測試@RequestMapping("/api/updateBuildingById")public boolean updateBuildingById(Building building){try{buildingService.updateBuilding(building);}catch(Exception e){e.printStackTrace();return false;}return true;}

啟動項目

相應(yīng)的測試Url方法都在代碼的注釋中寫到,由于是后期整理,所以可能存在錯誤的地方。所以有什么錯誤的地方可以指出來。
有什么不懂的地方可以留言
記錄一下,同時也希望可以幫助到你,
至此,結(jié)束。

總結(jié)

以上是生活随笔為你收集整理的SpringBoot+MyBatis包含MyBatis Plus实现数据的增删改查(详细过程,适合新手小白)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。