写在前面

很久以前在有道云笔记上写的笔记,打算放弃它了,将笔记迁移到这里来。文章可能还有很多不足,请大家谅解,欢迎大佬提意见。

本文使用到的东西

  1. MyBatis
  2. java

1.映射器基础头文件

<?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>
这里写对应得文件内容......
</mapper>

2.mapper最外层标签

mapper是最外层的标签,用于配置数据库操作接口对于的sql实现,其他所有的标签都在这个标签内书写
mapper标签包含namespace参数,用于指定数据库操作接口全路径,例:

<!-- 配置dao接口对应的sql实现 -->
<mapper namespace="com.etc.dao.UserinfoDao">
 这里写对应得文件内容......
</mapper>

3.resultMap配置java类在xml中的输出映射结构

resultMap中包含type和id两个参数,type表示要映射的java类全路径或在mybatis-config.xml中配置的别名。
示例:

<!-- 配置java类在xml中的映射结构,该结构用于下面的sql语句 -->
    <resultMap type="Userinfo" id="UserinfoType">
        <id property="uid" column="uid"/> <!-- id为主键 -->  
        <result property="uname" column="uname"/>    
        <result property="password" column="password"/> 
    </resultMap>
  1. id标签代表sql中的主键
  2. result标签代表sql中的字段,也就是列
  3. property属性为映射的java类所对应属性
  4. column为sql表对应的字段名,也就是列名

4.select、insert、update和delete标签

示例:

   <select id="findAll" resultMap="UserinfoType">
        select * from userinfo
   </select>
   <select id="findById" parameterType="int" resultType="Userinfo">
        select * from userinfo where uid = #{uid}
   </select>
   <insert id="add" parameterType="Userinfo">
        insert into userinfo values(#{uid},#{uname},#{password})
   </insert>
   <update id="update" parameterType="Userinfo">
        update userinfo set uname=#{uname},password=#{password}
        where uid=#{uid}
   </update>
   <delete id="delete" parameterType="int">
        delete from userinfo where uid=#{uid}
   </delete>
  1. select标签表示数据库的查询操作
  2. insert标签表示要进行数据库添加记录的操作
  3. update标签表示要进行数据库表修改记录操作
  4. delete标签表示要进行数据库表删除记录的操作
  5. id属性是标签唯一的属性,用于引用该标签
  6. parameterType属性表示输入参数类型
  7. resultType属性表示输出参数类型
  8. resultMap属性表示输出参数类型为输出映射器,他的值为输出映射器的id,如UserinfoType

如果输出映射器的结构和类的结构完全对应,那么无论使用输出映射器还是类做输出类型效果都相同。

5.总结

很久以前在有道云笔记上写的笔记,打算放弃它了,将笔记迁移到这里来。有不清楚的地方欢迎评论留言,看到的我都会回复的。本文到此结束,有什么不足的地方请大家不吝指正。