文章目录
XML映射文件介绍(实现简单的CRUD)
关于XML映射文件,在之前也提到过,Mybatis根据映射文件,创建一个接口的动态代理。使用者可以使用这个代理对象对数据库进行操作。
标签简介
insert
、update
、delete
标签
分别映射插入、更新、删除语句。
id属性
用于在这个名称空间(名称空间由<mapper/>
的namespace
属性指定,指定为接口的全限定类名),唯一标识这个元素,可以被引用(这个后面再讲)。id通常被命名为对应的方法名。
parameterType属性
用于指定传入这条语句的参数的类型。Mybatis会自动推断,所以这个属性可以不指定
select
标签
映射查询语句。
它的id属性和parameterType属性的作用和上面的三个标签完全一致。
resultType属性
用于指定返回结果的类型。如果要返回一个集合,其中包含了多个javabean,则parameterType的类型为javabean的全限定类名(而不是集合类型),根据接口中方法的返回值,可以确定返回的时单个的javabean还时javabean的集合
与resultMap属性只能设置其中一个
resultMap属性
用来引用一个<resultMap/>
。
与resultType属性只能设置其中一个
resultMap
标签
描述如何将查询到的结果集封装到javabean中。
在这里,先只做简单的介绍
id属性
该名称空间中的唯一标识,被其他标签的resultMap
属性引用。
type属性
封装后得到的javabean的全限定类名。
id
子标签
用于将记录中的主键映射到javabean中的一个字段。
column
属性用于指定列名property
属性用于指定字段名
column指定的列于property指定的字段相对应
result
子标签
用于将记录中的一列映射到javabean中的一个字段。
column
属性用于指定列名property
属性用于指定字段名
column指定的列于property指定的字段相对应
id和result的用法很相似,id用来指定主键列,result用来指定列(也可以用于主键那一列)。1
关于传参的问题
对于简单的CRUD,不涉及到多个参数,所以仅作简单的说明。
使用#{参数名}
获取参数,如果参数是一个对象的引用(且仅有一个参数),想要获取其中的字段,可以使用#{字段}
。
映射文件的配置
<?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.test.dao.ICollegeDao