Mybatis与Spring整合后的配置与使用
Mybatis与Spring整合后
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
通过Spring将mybatis整合后大大减少了我们的工作量,我们看一看其中mybatis的配置文件在哪里
1.mybatis的配置文件
众所周知mybatis是针对数据库进行封装的持久层框架,所对应操作的层面也就是我们的Dao层,所以我们在Spring的配置文件中也是在dao.xml中进行mybatis的配置.
这是mybatis的设置,我们针对其中的连接池属性, 也就是我们的数据库属性,出于我们平时管理数据库的需求,我们将其中数据库的属性单拿出来形成一个JDBC.properties文件进行存放,在spring的xml文件中通过EL表达式对其中的数值进行获取.
同样我们还需要设置mybatis的全局环境, 需要另外一个文件 mybatis-config.xml
在这里面我们队全局属性进行了配置, 开启相关的服务, 并且配置我们自己所编写的拦截器.
2.mybatis的使用
通过上方设置好的配置文件,我们就可以对myabtis进行使用
2.1mybatis的注解
@param:通过@Param("id")进行参数制定 可以在mapper.xml的映射文件中使用正确的参数.
2.2mybatis的xml文件.
在mybatis中最重要的就是我们所要配置的映射文件mapper.xml.
看一看xml文件中的标签和其中都有什么属性:
- namespace:用于指定类路径
- select:用于编写select的SQl语句
- update:用于编写update的sql语句
- delete:用于编写delete的sql语句
- insert:用于编写insert的sql语句
返回结果:
-
resultType:
我们通过resultType可以指定基本数据类型或者简单的bean作为返回值进行设定,简单的bean是指在bean内部不包含其他bean的情况. -
resultMap:
当resultType不能满足需求的时候,我们需要自己指定自己需要的类型并且告诉Mybatis让其解析.
要在返回结果中使用resultMap,我们需要先定义一个自己的resultMap其结构如下:
resultmap中常用的有两个标签:
association与collection:
-
association通常用在单体的bean当中.
-
collection通常用在ListBean数组中.
2.3mybatis拦截器的介绍与使用
我们平时要通过前端页面传回来的一些设定进行查询,我们如果针对每一个需求去进行模糊查询以及属性修改, 实在是太麻烦了,于是我们的Mybatis拦截器就上场了,我们通过Mybatis拦截器可以将还未执行的Sql语句进行拦截,对其进行过滤,符合需求的Sql语句对其进行修改,达到分页或者条件查询的目的.
我们要实现自己的拦截器接口就需要继承interceptor接口并且实现
interceptor接口中有三个方法:
intercept方法: 我们拦截后的正确结果就在这个方法里面, 我们通过在这个方法对sql语句进行改造
plugin方法:通过动态代理的方式返回正确的sql对象交与intercept
setProperties方法: 设置属性值 让拦截器按照属性值进行行动.
使用拦截器的方法分为两步:
1.对拦截器的接口进行继承实现
2.对拦截器在相应的DAO.xml文件中进行注册.

浙公网安备 33010602011771号