zoukankan      html  css  js  c++  java
  • spring boot 整合 mybatis

    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) 整合的差不多了

  • 相关阅读:
    Java启动工程时,加载固定数据到Map中(不用每次访问数据库)
    Java删除文件夹和其子文件、文件的拷贝和剪切
    EasyExcel导入工具(SpringMVC下使用)
    web工程启动时,在一个类中延迟加载Bean,因为该Bean类可能还没被JVM加载
    ECharts访问后台,JSON格式返回数据实例
    Java 实现缓存,一个线程存,一个线程取
    IE浏览器使用VLC实时显示视频(海康、大华)
    Windows和Linux下 Java开发ping工具类
    Quartz定时器+Spring + @Autowired注入 空指针异常
    ubuntu 安装mysql
  • 原文地址:https://www.cnblogs.com/elvinle/p/7999612.html
Copyright © 2011-2022 走看看