文章出處

spring boot jpa的方式確實非常簡單, 但是復雜系統避免不了自己寫sql, 那么如果把sql寫在方法的上面, 可能有些人會覺得怪異, 或者不舒服.

那么能不能將mybatis整合進spring boot , 將sql 分離出來呢.

一. pom.xml

        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

引入mybatis starter 的jar包, 這里不再需要引入mybatis的其他jar包了. 包含在里面

 

二. yml配置文件

mybatis:
  mapper-locations: classpath:mapper/**/*.xml

這里配置一下, mapper.xml文件存放位置

 

三. mapper類掃描配置

@MapperScan("org.elvin.boot.mapper")
@SpringBootApplication
public class BootApplication {

    public static void main(String[] args) {
        SpringApplication.run(BootApplication.class, args);
    }
}

在boot啟動程序上, 加一個注解, 掃描mapper類文件

 

四. mapper文件

package org.elvin.boot.mapper;

import org.elvin.boot.pojo.db.User;

import java.util.List;

/**
 * author: Elvin
 * Date: 2017/12/7 15:29
 * Description:
 */
public interface UserMapper {

    public List<User> findAll();

}

 

<?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="org.elvin.boot.mapper.UserMapper">

    <select id="findAll" resultType="org.elvin.boot.pojo.db.User">
      select id, name, birthday  from user
    </select>

</mapper>

  

五. service 和實現類

/**
 * author: Elvin
 * Date: 2017/12/7 15:36
 * Description:
 */
public interface UserService {

    public List<User> findAll();
}
/**
 * author: Elvin
 * Date: 2017/12/7 15:36
 * Description:
 */
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> findAll() {
        return userMapper.findAll();
    }
}

 

六. controller

/**
 * author: Elvin
 * Date: 2017/12/7 15:39
 * Description:
 */
@RestController
@RequestMapping("user")
public class UserController {

    @Autowired
    private UserService userService;

    @RequestMapping("all")
    public List<User> all(){
        return userService.findAll();
    }
}

 

七. 結果

這樣子, 功能上, 和之前 ssm(2) 整合的差不多了

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()