1. 程式人生 > >springboot(三).springboot用最簡單的方式整合mybatis

springboot(三).springboot用最簡單的方式整合mybatis

類信息 values 結構 日誌 width orm框架 代碼 red face

                               Springboot整合mybatis

在眾多的orm框架中,我使用最多的,最習慣的,也是目前使用最廣泛的就是mybatis,接下來我們就去將springboot整合mybatis

對於springboot整合mybatis有好幾種方法,在這裏我們使用最簡單,最方便的一種整合方式

在pom中添加以下依賴

技術分享圖片

在application.properties 中增加以下配置

#數據庫連接本地
spring.datasource.url=jdbc:mysql://localhost:3306/springbootTest
spring.datasource.username=root
spring.datasource.password
=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.initial-size = 10 spring.datasource.max-active = 50 spring.datasource.min-idle = 5 spring.datasource.max-idle = 10

在這裏要想使用這種最簡單的方法,就必須用spring.datasource開頭,只有以datasource開頭,才能在項目的Application啟動時將配置文件的該類信息組裝成datasource(數據源),達到了連接數據庫的目的

接下來創建user表

表結構:

CREATE TABLE `user` (
  `id` varchar(255) NOT NULL,
  `username` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

編寫dao層代碼,新建UserMapper 接口

@Mapper
public interface UserMapper {

    @Select("SELECT * FROM USER WHERE username = #{username}")
    UserInfo findByName(@Param("username") String username);

    @Insert("INSERT INTO user(id,username, password,name) VALUES(#{id},#{username}, #{password},#{name})")
    int insert(UserInfo userInfo);

}

 

在業務層增加對dao層接口的引用,創建userService

public interface UserService {

    public UserInfo getUserInfoByUserName(String username);

    public void insertUserInfo(UserInfo userInfo);
}

  

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;
    @Override
    public UserInfo getUserInfoByUserName(String username) {
        UserInfo userInfo = userMapper.findByName(username);
        return userInfo;
    }

    @Override
    public void insertUserInfo(UserInfo userInfo) {
        userMapper.insert(userInfo);
    }
}

  

接下來添加我們的controller,提供對外的接口,修改UserController

@RestController
@RequestMapping(value = "/user")
public class UserController {

    //增加日誌
    private final Logger log = LoggerFactory.getLogger(UserController.class);

    @Autowired
    private UserService userService;

    /*
    * 測試mybatis連接數據庫
    * 查詢信息
    * @return
    * *
    * */
    @RequestMapping(value = "/getUserInfoByName",method = RequestMethod.GET)
    public String getUserInfoByName(){
        //打印日誌
        log.info("開始根據用戶名查詢用戶信息");
        String username = "yangheng";
        UserInfo userInfo = userService.getUserInfoByUserName(username);
        Map<String,Object> resMap = new HashMap<String, Object>();
        resMap.put("data",userInfo);
        return JSONConvertor.toJSON(resMap);
    }

    /*
    * 測試mybatis連接數據庫
    * 新增用戶信息
    * @return
    * *
    * */
    @RequestMapping(value = "/insertUserInfo",method = RequestMethod.GET)
    public String insertUserInfo() throws Exception{
        //打印日誌
        log.info("開始插入用戶信息");
            UserInfo userInfo = new UserInfo();
            //用戶id
            userInfo.setId(UUID.randomUUID().toString());
            //用戶用戶名
            userInfo.setUsername("yangheng");
            //用戶密碼
            userInfo.setPassword(MD5.EncodeByMd5("123456"));
            //姓名
            userInfo.setName("哼哼");
            userService.insertUserInfo(userInfo);
            return "成功";

    }
}

來測試一下我們的新接口,訪問 http://localhost:8080/user/insertUserInfo

技術分享圖片

訪問 http://127.0.0.1:8080/user/getUserInfoByName

技術分享圖片

這裏密碼做了MD5加密

然後去數據庫中查一下是否查入成功了

技術分享圖片

這樣,最簡單的mybatis整合就完成了

springboot(三).springboot用最簡單的方式整合mybatis