快捷搜索:  汽车  科技

mybatis配置文档标签:入门教程-配置MyBatis

mybatis配置文档标签:入门教程-配置MyBatis创建完成之后,需要在mybatis-config.xml配置文件中对mapper进行配置。<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.mybatis.mapper.SysUserMapper"> </mapper>这里需要注意的是<mapper>标签对应的namespace属性。当Mapper文件与接口文件进

简介

MyBatis之所以强大之处就在于它的对象关系映射ORM,这也是MyBatis的精华所在。由于它的映射语句非常强大,映射器对应的XML文件也就相对来说比较简单。比起jdbc操作来说真的是差距不是一个数量级。

mybatis配置文档标签:入门教程-配置MyBatis(1)

而MyBatis3.0相对于MyBatis2.0来说最大的变化就是支持用接口来进行方法调用。

在之前的时候使用SqlSession通过名称空间来调用MyBatis方法的时候,首先需要用到名称空间和方法ID组成的字符串来调用对应的方法。当传入的查询参数多于1个的时候,需要将参数进行对象类型封装。通过封装好的对象来进行参数传递,这样对于两三个参数的使用场景就显得有点不友好。

而采用接口调用的方式就会方便很多,MyBatis使用Java的动态代理机制,可以直接通过接口来进行对应方法的调用,不需要为接口实现具体的实现类,更不需要在实现类中使用SqlSession 确定名称空间。

另外就是在多个参数的情况下,可以通过@Param 注解的方式来进行参数传入,就不需要再为两三个参数来构造一个对象出来。在与Spring整合之后,更是可以自动的扫描到指定路径下的所有的Mapper接口,可以直接将接口注入到需要使用的地方,极大的方便的开发人员的开发。

具体实现

在之前创建的项目路径下新建对应SysUserMapper.xml 的XML文件,并且在对应的src/main/java下创建对应的SysUserMapper对应的映射接口文件。

//Mapper对应的映射接口 public interface SysUserMapper { }

对应的XML映射文件

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.mybatis.mapper.SysUserMapper"> </mapper>

这里需要注意的是<mapper>标签对应的namespace属性。当Mapper文件与接口文件进行关联的时候,名称空间namespace属性值就需要进行配置了。例如上面配置文件中的com.mybatis.mapper.SysUserMapper配置。MyBatis的内部就可以通过这个值将XML与接口进行映射。

创建完成之后,需要在mybatis-config.xml配置文件中对mapper进行配置。

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="logImpl" value="LOG4J"/> </settings> <typeAliases> <package name="com.mybatis.model"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"> <property name="" value=""/> </transactionManager> <dataSource type="UNPOOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mapper/BookMapper.xml"/> <mapper resource="mapper/SysUserMapper.xml"/> </mappers> </configuration>

当然这种方式看上去比较麻烦,也可以使用如下的方式进行配置

<mappers> <package name="com.mybatis.mapper/> </mappers>

这种方式表示查找对应包下的所有的接口Mapper,循环对接口进行如下的操作

  1. 判断接口对应的名称空间是否存在,如果存在就抛出异常,不存在则进行后续的操作。
  2. 加载接口对应的XML文件,将接口的全限定名都转换为路径。
  3. 处理接口中对应的注解方法。

因为我们创建的XML文件与接口完全是满足第二个条件的,所以直接配置对应的包路径就能扫描到对应包下的接口和XML映射文件。这样为开发者节省了很多的时间和精力。

猜您喜欢: