zoukankan      html  css  js  c++  java
  • springboot集成mybatis源码分析(一)

    本篇文章只是简单接受使用,具体源码解析请看后续文章

    1、新建springboot项目,并导入mybatis的pom配置

    配置数据库驱动和mybatis dependency
    <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>
    <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
    </dependency>
    application.yml配置

    spring :
    datasource :
    driverClassName : com.mysql.jdbc.Driver
    url : jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username : root
    password : 123456

    2、基础类(使用lombok自动生成get/set方法)

    package com.example.demo.domain;
    
    import lombok.Data;
    
    @Data
    public class User {
        private Integer id;
        private String username;
        private Integer age;
    }

    3、测试dao(mybatis使用注解开发)

    package com.example.demo.dao;
    
    import com.example.demo.domain.User;
    import org.apache.ibatis.annotations.Mapper;
    import org.apache.ibatis.annotations.Select;
    
    @Mapper
    public interface UserDao {
        
        @Select("SELECT * FROM USER")
        List<User> getUser();
    }

    4、测试service

    package com.example.demo.service;
    
    import com.example.demo.dao.UserDao;
    import com.example.demo.domain.User;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    @Service
    @Slf4j
    public class UserService {
    
        @Autowired
        private UserDao userDao;
    
        public List<User> getUser(){
            List<User> userList = userDao.getUser();
            log.info("查询出来的用户信息,{}",userList.toString());
            return userList;
        }
    }

    5、service对应的test类(该测试类继承主测试类(主测试类直接在启动文件上goto test即可自动生成))

    package com.example.demo.service;
    
    import com.example.demo.DemoApplicationTests;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    
    import static org.junit.Assert.*;
    
    public class UserServiceTest extends DemoApplicationTests {
    
        @Autowired
        private UserService userService;
    
        @Test
        public void getUser() {
            userService.getUser();
        }
    
    }
    package com.example.demo;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class DemoApplicationTests {
    
        @Test
        public void contextLoads() {
        }
    
    }

    6、运行测试类输出结果

      查询出来的用户信息,[User(id=1, username=test, age=11)]

      

  • 相关阅读:
    C# lock
    read appSettings in configuration file by XElement with xmlns
    get all sites under IIS
    Cross-site scripting(XSS)
    Do not throw System.Exception, System.SystemException, System.NullReferenceException, or System.IndexOutOfRangeException intentionally from your own source code
    C++ 算法
    C++ 数据结构概念
    C++ STL 常用算术和生成算法
    C++ STL 常用拷贝和替换算法
    C++ STL 常用排序算法
  • 原文地址:https://www.cnblogs.com/nxzblogs/p/10482055.html
Copyright © 2011-2022 走看看