MyBatis基础,映射器.xml文件详解
写在前面
很久以前在有道云笔记上写的笔记,打算放弃它了,将笔记迁移到这里来。文章可能还有很多不足,请大家谅解,欢迎大佬提意见。
本文使用到的东西
- MyBatis
- 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>
- id标签代表sql中的主键
- result标签代表sql中的字段,也就是列
- property属性为映射的java类所对应属性
- 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>
- select标签表示数据库的查询操作
- insert标签表示要进行数据库添加记录的操作
- update标签表示要进行数据库表修改记录操作
- delete标签表示要进行数据库表删除记录的操作
- id属性是标签唯一的属性,用于引用该标签
- parameterType属性表示输入参数类型
- resultType属性表示输出参数类型
- resultMap属性表示输出参数类型为输出映射器,他的值为输出映射器的id,如UserinfoType
如果输出映射器的结构和类的结构完全对应,那么无论使用输出映射器还是类做输出类型效果都相同。
5.总结
很久以前在有道云笔记上写的笔记,打算放弃它了,将笔记迁移到这里来。有不清楚的地方欢迎评论留言,看到的我都会回复的。本文到此结束,有什么不足的地方请大家不吝指正。