當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Springboot轻松整合Mybatis
生活随笔
收集整理的這篇文章主要介紹了
Springboot轻松整合Mybatis
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在springboot沒有出現之前,spring整合mybatis是相當麻煩,各種bean配置,現在我們來感受一下Springboot整合Mybatis是有多么方便
先來看看效果
添加用戶:
查詢用戶:
開始動手
第一步創建springboot項目
到這里項目就創建完成了,我們可以看看pom文件:
動手創建類
首先看看我的目錄結構:
創建model user
package com.hawk.yoga.model;import lombok.Data;/*** @Author: * @Description: user* @Date: Create in 2019/7/13*/ @Data public class User {private Integer age;private String name;//實際項目中不用Double,用更精確的private Double money; }創建統一返回結果
package com.hawk.yoga.common.result;import com.hawk.yoga.common.CodeEnum; import lombok.Data;/*** @Author: * @Description: 自定義返回結果* @Date: Create in 2019/7/13*/ @Data public class YogaResult<T> {private String code;private T data;private YogaResult(){code = CodeEnum.OK.getCode().toString();}public static YogaResult ok(){return new YogaResult();}public static <T>YogaResult ok(T data){YogaResult yogaResult = new YogaResult();yogaResult.setData(data);return yogaResult;} }創建code表
package com.hawk.yoga.common;import lombok.Data; import lombok.Getter;/*** @Author: * @Description:* @Date: Create in 2019/7/13*/ public enum CodeEnum {/*** 2開通頻段為成功*/OK("ok",2000),/*** 4開頭頻段為錯誤*/ERROR("error",4000);CodeEnum(String desc,Integer code){this.code = code;this.desc = desc;}@Getterprivate String desc;@Getterprivate Integer code; }創建controller
package com.hawk.yoga.controller;import com.hawk.yoga.common.result.YogaResult; import com.hawk.yoga.model.User; import com.hawk.yoga.model.dto.UserDto; import com.hawk.yoga.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController;/*** @Author:* @Description: demo* @Date: Create in 2019/7/13*/ @RestController @RequestMapping("/user") public class TestController {@Autowiredprivate UserService userService;@RequestMapping(value = "/add", method = RequestMethod.GET)public YogaResult addUser(UserDto userDto) {userService.add(userDto);return YogaResult.ok();}@RequestMapping(value = "/find", method = RequestMethod.GET)public YogaResult<User> addUser(String name) {User userByName = userService.findUserByName(name);return YogaResult.ok(userByName);}}service
package com.hawk.yoga.service;import com.hawk.yoga.mapper.UserMapper; import com.hawk.yoga.model.User; import com.hawk.yoga.model.dto.UserDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;/*** @Author: * @Description:* @Date: Create in 2019/7/13*/ @Service public class UserServiceImpl implements UserService{@Autowiredprivate UserMapper userMapper;@Overridepublic void add(UserDto userDto) {userMapper.add("yoga", 22, 3000.0);}@Overridepublic User findUserByName(String name) {return userMapper.findUserByName(name);}} public interface UserService {/*** add*/void add(UserDto userDto);/**** @param name* @return*/User findUserByName(String name); }mapper
@Mapper public interface UserMapper {/*** @param name* @param age* @param money* @return*/@Insert("INSERT INTO user(name, age,money) VALUES(#{name}, #{age}, #{money})")Integer add(@Param("name") String name, @Param("age") Integer age, @Param("money") Double money);/*** @param name* @return*/User findUserByName(String name); }添加方法使用的是注解,簡單應用推薦第一種,一般使用第二中通過xml配置
userMapper.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.hawk.yoga.mapper.UserMapper"><select id="findUserByName" parameterType="java.lang.String" resultType="com.hawk.yoga.model.User">SELECT * FROM user WHERE name = #{name}</select> </mapper>實際應用中不要用*,會導致掃描全表。
配置文件 application.properties
server.port=8520 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/item?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver mybatis.mapper-locations=classpath:mapper/*.xml數據庫
CREATE TABLE `user` (`id` int(13) NOT NULL AUTO_INCREMENT COMMENT '主鍵',`name` varchar(33) DEFAULT NULL COMMENT '姓名',`age` int(3) DEFAULT NULL COMMENT '年齡',`money` double DEFAULT NULL COMMENT '賬戶余額',PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8到此項目已經完成,可以運行起來了,其中有一點不規范的地方就是service哪里,我直接寫死了數據,只是為了測試起來方便,最后一點在啟動應用上加一個注解:掃描mapper
是不是很輕松呢,感謝你的閱讀,不當之處請指教。
總結
以上是生活随笔為你收集整理的Springboot轻松整合Mybatis的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php实现短信找回密码,thinkphp
- 下一篇: gradle idea java ssm