MyBatis的强大,主要原于它强大映射功能,相对其它的jdbc,使用MyBatis,你会发现省掉很多代码。上一篇已经简单做出一个实例。今天就了解一下MyBatis的映射xml文件。
了解上一篇friendMapper.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"> <!--POJO的mapper接口如FriendMapper的类路径--> <mapper namespace="com.yiming.mapper.FriendMapper"> <!-- insert映射插入语句, id 唯一的标识符,必须与FriendMapper定义接口方法中相同 parameterType 参数类型,参数类的完全限定名或别名 --> <insert id="inertFriend" parameterType="friend"> insert into friend(id,friendName, sex) values(#{id},#{friendName}, #{sex}) </insert> <!-- delete映射删除语句 id 唯一的标识符,必须与FriendMapper定义接口方法中相同 parameterType 参数类型,参数类的完全限定名或别名 --> <delete id="deleteFriend" parameterType="long"> delete from friend where id= #{id} </delete> <!-- update映射更新语句 id 唯一的标识符,必须与FriendMapper定义接口方法中相同 parameterType 参数类型,参数类的完全限定名或别名 --> <update id="updateFriend" parameterType="friend"> update friend set friendName = #{friendName}, sex = #{sex} where id= #{id} </update> <!-- select映射查询语句 id 唯一的标识符,必须与FriendMapper定义接口方法中相同 parameterType 参数类型,参数类的完全限定名或别名 resultType 返回值类型,类的完全限定名或别名。注意如果是集合情形, 那应该是集合可以包含的类型,而不能是集合本身。 使用 resultType 或 resultMap,但不能同时使用。 --> <select id="getFriend" parameterType="long" resultType="friend"> select id,friendName, sex from friend where id = #{id} </select> <select id="getAllFrined" parameterType="string" resultType="friend"> select id, friendName, sex from friend where friendName like concat('%', #{friendName}, '%') </select> </mapper>
引入friendMapper.xml映射文件方式
在说引入方式前,先要知道引入映射文件的位置,是mybatis-config.xml文件中:
<!--映射文件--> <mappers> <mapper resource="com/yiming/mapper/friendMapper.xml"/> </mappers>
1、文件路径引入映射文件
<mappers> <mapper resource="com/yiming/mapper/friendMapper.xml"/> </mappers>
2、类注册方式引入
<mappers> <mapper class="com.yiming.mapper.FriendMapper"/> </mappers>
3、使用完全限定资源定位url引入
<mappers> <mapper url="file:///var/com/yiming/mapper/friendMapper.xml"/> </mappers>
4、批量引入,也叫包名引入
<mappers> <package name="com.yiming.mapper"/> </mappers>