从零开始学SpringBoot2.x(12-SpringBoot中使用Mybatis(注解篇))

在之前的两篇文章与大家简单分享了一下在SpringBoot应用中如何使用JPA操作数据库,但在我们的实际开发中,JPA用的相对较少,虽然其上手异常简单,但想要执行高效的SQL语句还是有一定的学习难度的。今天与大家介绍如何使用Mybatis(使用注解书写SQL语句)。

 

不多废话!

 

1、老老的规矩!先看pom文件,如下

<dependencies>
        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!-- mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!-- druid连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.9</version>
        </dependency>
        <!-- 测试组件-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

 

2、配置文件application.yml


spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/mybatis?&characterEncoding=utf-8&useSSL=false #数据库的连接信息
    driver-class-name: com.mysql.jdbc.Driver #数据库驱动
    username: root #数据库的用户名
    password: 123456 #数据库的密码
    type: com.alibaba.druid.pool.DruidDataSource #使用druid连接池
mybatis:
  configuration:
    map-underscore-to-camel-case: true #开启mybatis驼峰转下划线命名规则规则

 

注释我都写里面啦~

 

3、创建用于测试的User实体类


@Data
public class User {

    private Long id;

    private String userName;
}

4、测试用的UserMapper


public interface UserMapper {

    @Select("select * from tb_user where id = #{id}")
    public User getUserById(long id);
}

可以看到,这个借口里面只有一个方法,方法上注解中的内容相信大家都不陌生,我就不过多描述了。

 

5、启动类

 


@SpringBootApplication
@MapperScan("com.xiao.mapper")
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

注意:启动类上要添加@MapperScan注解,这也是最容易忘记的地方,在这里稍做强调!

 

6、创建UserMapper的测试类UserMapperTest



@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {

    @Autowired
    private UserMapper userMapper;

    @Test
    public void getUserById(){
        User user = userMapper.getUserById(1L);
        System.out.println(user);
        Assert.assertNotNull(user);
    }

}

不会进行单元测试?传送门

 

7、最终工程目录如下

 

 

8、数据库信息如下

 

 

9、启动测试类,观察我们的控制台日志输出

 

 

可以看到,数据已经被成功的查询打印出来!

 

是不是也很简单呢!

 

 

源码链接:

https://github.com/devilyang123/SpringBoot-Learning/tree/master/springboot-mybatis-annotation

 

 

 


欢迎关注我的个人公众号“笑笑是一个码农”,第一时间获取最新文章。

您的关注,就是支持我持续写作的最大动力!

还可以免费领取前后端全站学习视频资料呦~

个人微信号,如需添加微信,请备注来源,因为妈妈从小就告诉我不要随便跟陌生人聊天!(嘿嘿~)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章