MyBatis02 MyBatis基础知识之Mapper映射器
2017-05-18 10:28
267 查看
1 Mapper映射器是什么
是符合映射文件要求的接口接口要求
a. 方法名要与sql的id一致。
b. 方法的参数类型要与parameterType一致。
c. 方法的返回类型要与resultType一致。
映射文件要求
namespace必须等于接口名(包含包名)
增加笔记(2017年5月19日09:19:46)
Mapper映射器的作用:如果我们不使用Mapper映射器,那么我们就必须调用SqlSession的相应方法区执行相应的增、删、改、查操作;如果我们使用了Mapper映射器,那么我们执行增、删、改、查这些操作时使用的就是Mapper映射器中的相应方法;但是要想使用Mapper映射器中的方法必须要有一个Mapper映射器对象,这个对象可以通过SqlSession的getMapper方法得到,例如:AdminDao ad = sqlSession.getMapper(AdminDao.class);当然也有得到Mapper对象的简便方法,那就是使用spring去集成mybatis,通过在spring配置文件中配置MapperScannerConfigurer就可以帮相应的Mapper映射器配置一个bean,以后我们就可以通过spring容器来使用这个bean啦。
2 如何使用Mapper映射器
2.1 导包
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" 3 "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"> 4 5 <mapper namespace="cn.xiangxu.telecom.login.dao.AdminDao"> 6 <insert id="insert" parameterType="cn.xiangxu.telecom.login.entity.Admin"> 7 <!-- 注意:parameterType的属性值一定要写上类名(基本类型除外) --> 8 INSERT INTO admin 9 (name, password, gender) 10 VALUES(#{name}, #{password}, #{gender}) 11 </insert> 12 13 <select id="findAll" resultType="cn.xiangxu.telecom.login.entity.Admin"> 14 SELECT * FROM admin 15 </select> 16 17 <select id="findByName" parameterType="String" resultType="cn.xiangxu.telecom.login.entity.Admin"> 18 SELECT * FROM admin 19 WHERE NAME = #{MYNAME} 20 </select> 21 22 <update id="modify" parameterType="cn.xiangxu.telecom.login.entity.Admin"> 23 UPDATE admin 24 SET password=#{password}, gender=#{gender} 25 WHERE name=#{name} 26 </update> 27 28 <delete id="deleteByName" parameterType="String"> 29 DELETE FROM admin 30 WHERE name=#{deleteName} 31 </delete> 32 33 <select id="findByName2" parameterType="String" resultType="Map"> 34 SELECT * FROM admin 35 WHERE name=#{selectName} 36 </select> 37 38 <!-- 如果实体类的属性名和表的字段名不一致,那么不一致的字段将返回null --> 39 <select id="findByName3" parameterType="String" resultType="cn.xiangxu.telecom.login.entity.Admin2"> 40 SELECT * FROM admin 41 WHERE name = #{selectName} 42 </select> 43 44 <!-- 利用sql的别名解决实体类的属性名和标的字段名不一致的问题 --> 45 <select id="findByName4" parameterType="String" resultType="cn.xiangxu.telecom.login.entity.Admin2"> 46 SELECT id, name, password word, gender gender1 FROM admin 47 WHERE name = #{selectName} 48 </select> 49 50 <!-- 使用resultMap元素解决实体类的属性名和标的字段名不一致的问题 --> 51 <resultMap type="cn.xiangxu.telecom.login.entity.Admin2" id="admin2Map"> 52 <result property="word" column="password"></result> 53 <result property="gender1" column="gender"></result> 54 </resultMap> 55 <select id="findByName5" parameterType="String" resultMap="admin2Map"> 56 <!-- 注意:查询的返回值是cn.xiangxu.telecom.login.entity.Admin2类型 --> 57 SELECT * FROM admin 58 WHERE name=#{selectName} 59 </select> 60 61 62 63 64 65 </mapper>
配置好的AdminMapper.xml
本博客源代码地址:点击前往
相关文章推荐
- MyBatis02 MyBatis基础知识之Mapper映射器
- Masson快速视频制作教程(02) - 音视频的基础知识
- 基础知识02 - 零基础入门学习汇编语言02
- android基础知识02——线程安全3:Message,MessageQueue,Handler,Looper
- android基础知识02——线程安全1:定义及例子
- java学习02-java基础知识、基本数据类型、运算符
- [原创][PowerShell教程][02]PowerShell基础知识之一
- shell基础知识02
- perl基础知识02【代码执行格式】
- android基础知识02——线程安全2:handler、message、runnable
- android基础知识02——线程安全3:Message,MessageQueue,Handler,Looper
- Linux基础知识--(02)Linux分区
- Java基础02-基本类型相关知识
- chap02 C#语言基础知识
- android基础知识02——线程安全4:HandlerThread
- java基础知识02
- .NET基础知识02
- Java读书笔记02 基础知识
- android基础知识02——线程安全2:handler、message、runnable
- android基础知识02——线程安全4:HandlerThread