目前的大环境下,使用Mybatis
做为持久层框架仍是占了绝大多数的,下面咱们来讲一下使用Mybatis
的几种姿式。mysql
首先,咱们须要在pom文件中添加依赖:git
这里咱们采用yml来进行编写,与properties文件相比,yml看起来更加简洁优雅,这里须要注意的是driver-class-name
这个属性咱们采用的是com.mysql.cj.jdbc.Driver
而非以前的com.mysql.jdbc.Driver
,若是采用以前包下的Driver
,控制台会打印出一行这样的信息告诉咱们去用新的~github
首先,咱们须要在启动类指定@MapperScan
,这样作就能够不用去挨个的在Mapper
接口中添加@Mapper
注解。这里的值就是你的Mapper
接口所在的包的路径。sql
经过@Select
注解和@Results
注解能够指定SQL语句以及返回值。固然,其余的不一样的操做也有不一样的注解,好比@Insert
、@Update
、@Delete
mybatis
访问 localhost:8081/user/findAll,咱们就能够看到测试的结果:app
咱们用的最多的是这种方式,下面来看看怎么去实现,第一步与姿式一的重复,这里就再也不多作阐述框架
咱们须要在配置文件中添加mybatis-config.xml
的路径以及用于Mapper*.xml
的文件的路径:测试
Mapper接口:spa
mybatis-config.xml:3d
UserMapper.xml:
这里须要注意UserMapper.xml中的namespace
须要与接口的路径一致,不然会出现错误。
测试的程序与以前的一致,咱们直接访问localhost:8082/user/findAll
,能够看到成功的结果:
使用SqlSession的姿式和能够与上面两种方式进行结合,emmm。。。能够这么理解,SQL就在那里,只不过度为了两个不一样的方法去调用。其他的代码咱们就再也不多讲,直接来看是如何调用的:
能够看到,参数写的是要调用的方法的路径(这里是与namespace
相对应)。下面咱们能够运行一下程序:
这里,咱们基于SqlSession
进行了一次升级,首先咱们写了一个BaseDao
,做为一个公用的接口。接口的实现是经过sqlSessionTemplate
。
而后咱们将*Mapper.xml
的namespace
改成*Mapper
。如今,咱们能够直接将全部的Mapper
接口删除,直接经过dao
进行调用~
而后咱们来启动程序后去访问
关于Mybatis
的使用,咱们就先讲到这里~
源码能够去github或者码云上进行下载,后续的例子都会同步更新。
原创文章,文笔有限,才疏学浅,文中如有不正之处,万望告知。