前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot 2.x(四):与Mybatis不得不说的几种姿(zhi)势(shi)

Spring Boot 2.x(四):与Mybatis不得不说的几种姿(zhi)势(shi)

作者头像
山禾说
发布2019-01-21 10:24:54
4570
发布2019-01-21 10:24:54
举报
文章被收录于专栏:Vi的技术博客Vi的技术博客

前言

目前的大环境下,使用Mybatis作为持久层框架还是占了绝大多数的,下面我们来说一下使用Mybatis的几种姿势。

姿势一:零配置注解开发

第一步:引入依赖

首先,我们需要在pom文件中添加依赖:

第二步:配置文件

这里我们采用yml来进行编写,与properties文件相比,yml看起来更加简洁优雅,这里需要注意的是driver-class-name这个属性我们采用的是com.mysql.cj.jdbc.Driver而非之前的com.mysql.jdbc.Driver,如果采用之前包下的Driver,控制台会打印出一行这样的信息告诉我们去用新的~

第三步:指定MapperScan

首先,我们需要在启动类指定@MapperScan,这样做就可以不用去挨个的在Mapper接口中添加@Mapper注解。这里的值就是你的Mapper接口所在的包的路径。

第四步:编写Mapper接口

通过@Select注解和@Resuts注解可以指定SQL语句以及返回值。当然,其他的不同的操作也有不同的注解,比如@Insert@Update@Delete

第五步:测试程序编写

访问 localhost:8081/user/findAll,我们就可以看到测试的结果:

姿势二:XML

我们用的最多的是这种方式,下面来看看怎么去实现,第一步与姿势一的重复,这里就不再多做阐述

第一步:编写配置文件

我们需要在配置文件中添加mybatis-config.xml的路径以及用于Mapper*.xml的文件的路径:

第二步:编写Mapper接口以及配置文件:

Mapper接口:

mybatis-config.xml:

UserMapper.xml:

这里需要注意UserMapper.xml中的namespace需要与接口的路径一致,否则会出现错误。

测试:

测试的程序与之前的一致,我们直接访问localhost:8082/user/findAll,可以看到成功的结果:

姿势三:SqlSession

使用SqlSession的姿势和可以与上面两种方式进行结合,emmm。。。可以这么理解,SQL就在那里,只不过分为了两个不同的方法去调用。其余的代码我们就不再多讲,直接来看是如何调用的:

可以看到,参数写的是要调用的方法的路径(这里是与namespace相对应)。下面我们可以运行一下程序:

姿势四:基于SqlSession的升级

这里,我们基于SqlSession进行了一次升级,首先我们写了一个BaseDao,作为一个公用的接口。接口的实现是通过sqlSessionTemplate。 然后我们将*Mapper.xmlnamespace改为*Mapper。现在,我们可以直接将所有的Mapper接口删除,直接通过dao进行调用~

然后我们来启动程序后去访问

关于Mybatis的使用,我们就先讲到这里~

原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

源码可以去github或者码云或者点击阅读原文前往进行下载,后续的例子都会同步更新。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Vi的技术博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 姿势一:零配置注解开发
    • 第一步:引入依赖
      • 第二步:配置文件
        • 第三步:指定MapperScan
          • 第五步:测试程序编写
          • 姿势二:XML
            • 第一步:编写配置文件
              • 第二步:编写Mapper接口以及配置文件:
                • 测试:
                • 姿势三:SqlSession
                • 姿势四:基于SqlSession的升级
                相关产品与服务
                云数据库 SQL Server
                腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档