写在前面
很久以前在有道云笔记上写的笔记,打算放弃它了,将笔记迁移到这里来。文章可能还有很多不足,请大家谅解,欢迎大佬提意见。
本文使用到的东西
- 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.总结
很久以前在有道云笔记上写的笔记,打算放弃它了,将笔记迁移到这里来。有不清楚的地方欢迎评论留言,看到的我都会回复的。本文到此结束,有什么不足的地方请大家不吝指正。