Spring Boot 教程(三): Spring Boot 整合Mybatis

教程簡介

本項目內容爲Spring Boot教程樣例。目的是經過學習本系列教程,讀者能夠從0到1掌握spring boot的知識,而且能夠運用到項目中。如您以爲該項目對您有用,歡迎點擊收藏和點贊按鈕,給予支持!!教程連載中,歡迎持續關注!java

環境

IDE: Eclipse Neon
Java: 1.8
Spring Boot: 1.5.12
數據庫:MYSQLmysql

本章簡介

上一節介紹了Spring Boot JPA完成數據層訪問,本節將介紹另一種持久層框架MyBatis,而且將Spring Boot整合MyBatis完成數據層訪問。git

配置

基於教程(一)的項目進行操做,在pom.xml文件下面添加:web

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

修改application.properties

spring.datasource.url = jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
spring.datasource.username = root
spring.datasource.password = 123456
spring.datasource.driverClassName = com.mysql.jdbc.Driver

建立數據庫表

在MYSQL中demo數據庫裏面運行一下SQL:spring

DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `pass` varchar(8) NOT NULL,
  PRIMARY KEY (`id`)
)

建立實體和數據訪問接口

建立包com.example.demo.model,建立實體Usersql

public class User implements Serializable{
    
    private static final long serialVersionUID = -853504493430501564L;

    private Long id;
    
    private String name;
    
    private String pass;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPass() {
        return pass;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }

}

建立包com.example.demo.mapper, 建立User映射的Mapper:UserMapper數據庫

@Mapper
public interface UserMapper {

    @Select("SELECT * FROM USER WHERE NAME = #{name}")
    User findByName(@Param("name") String name);
    
    @Insert("INSERT INTO USER(NAME, PASS) VALUES(#{name}, #{pass})")
    int save(@Param("name") String name, @Param("pass") String pass);
    
}

建立控制器

在com.example.demo.api下面建立User控制器UserController, 用於測試web訪問segmentfault

@RestController
public class UserController {

    @Autowired
    private UserMapper userMapper;
    
    @RequestMapping("/saveUser")
    public void save() {
        userMapper.save("ajay", "123456");
    }
    
    @RequestMapping("/findByName")
    public User findByName(String name) {
        return userMapper.findByName(name);
    }
    
}

程序運行和調試

在Application類中,啓動程序。瀏覽器輸入http://localhost:8080/saveUser
http://localhost:8080/findByName?name=ajayapi

clipboard.png

代碼:gitee.com/shaojiepeng/SpringBootCourse瀏覽器

相關文章
相關標籤/搜索