SpringBoot學習筆記06——SpringBoot整合Mybatis
阿新 • • 發佈:2018-11-12
本人是在已有的SpringBoot專案中整合Mybatis
1.首先需要在pom.xml檔案中新增依賴。
需要新增的依賴如下:
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
2.配置application.properties檔案
程式碼如下:
#配置資料來源 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://192.168.1.121:3306/world?useUnicode=true&characterEncoding=utf8&useSSL=false spring.datasource.username=root spring.datasource.password=root #Mybatis配置 #設定mapper檔案的位置 mybatis.mapperLocations=classpath:mapper/*.xml
到此為止mybatis的整合就完成了,下面我們來寫一下程式碼測試一下。
3.建立實體類
package com.youyou.address.entity; import lombok.Data; /** * 資料庫實體,聯絡人 */ @Data public class ContacterEO { /** * 主鍵 */ private String id; /** * 姓名 */ private String name; /** * 性別(0,女;1,男) */ private String sex; /** * 年齡 */ private Integer age ; /** * 電話 */ private String phone; /** * 地址 */ private String location; /** * 刪除(0,未刪除;1,刪除) */ private String dflag ; }
注意:如果不能識別@Data註解,則需要手動新增getter和setter方法。
4.建立dao介面
package com.youyou.address.dao;
import com.youyou.address.entity.ContacterEO;
import java.util.List;
public interface ContacterDao {
void insertOne(ContacterEO contacterEO);
/**
* 查詢所有
* @return
*/
List<ContacterEO> findAll();
}
5.編寫對應mapper檔案
<?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.youyou.address.dao.ContacterDao" >
<select id="insertOne" parameterType="com.youyou.address.entity.ContacterEO" >
INSERT INTO ts_contacter VALUES(#{id} , #{name} , #{sex} , #{age} , #{phone} , #{location} , #{dflag})
</select>
<select id="findAll" resultType="com.youyou.address.entity.ContacterEO">
select * from ts_contacter
</select>
</mapper>
6.編寫service類
package com.youyou.address.service;
import com.youyou.address.dao.ContacterDao;
import com.youyou.address.entity.ContacterEO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
@Transactional
public class ContacterService {
@Autowired
private ContacterDao dao;
public void insertOne(ContacterEO contacterEO){
dao.insertOne(contacterEO);
}
public List<ContacterEO> findAll(){
return dao.findAll();
}
}
7.編寫controller類
package com.youyou.address.controller;
import com.youyou.address.entity.ContacterEO;
import com.youyou.address.service.ContacterService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(description = "聯絡人介面")
@RestController
@RequestMapping(value = "/contacter")
public class ContacterController {
@Autowired
private ContacterService service;
@ApiOperation(value = "新增")
@GetMapping("/add")
public ContacterEO add(ContacterEO contacterEO){
System.out.println("新增一個聯絡人");
service.insertOne(contacterEO);
return contacterEO;
}
@ApiOperation(value = "查詢所有")
@GetMapping("/findAll")
public List<ContacterEO> findAll(){
return service.findAll();
}
}
執行結果
資料庫中資料
執行結果