1.parameterType和resultType
在映射文件中通过parameterType指定输入参数的类型,通过resultType指定输出结果的类型。
2.#{}和${}
#{}表示一个占位符号,#{}接收输入参数,类型可以是简单类型,pojo、hashmap。
如果接收简单类型,#{}中可以写成value或其它名称。
#{}接收pojo对象值,通过OGNL读取对象中的属性值,通过属性.属性.属性...的方式获取对象属性值。
${}表示一个拼接符号,会引用sql注入,所以不建议使用${}。
${}接收输入参数,类型可以是简单类型,pojo、hashmap。
如果接收简单类型,${}中只能写成value。
${}接收pojo对象值,通过OGNL读取对象中的属性值,通过属性.属性.属性...的方式获取对象属性值。
3.当传入的参数为一个pojo对象,来增加记录时
parameterType:指定输入 参数类型是pojo(包括 用户信息)
#{}中指定pojo的属性名,接收到pojo对象的属性值
id:标识 映射文件中的 sql,将sql语句封装到mappedStatement对象中,所以将id称为statement的id
insert into user(username,birthday,sex,address) value(#{username},#{birthday},#{sex},#{address})
4.当传入的参数为简单类型,来查询一条记录时
如果输入 参数是简单类型,#{}中的参数名可以任意,可以value或其它名称
resultType:指定sql输出结果 的所映射的java对象类型,select指定resultType表示将单条记录映射成的java对象。
5.根据用户名称模糊查询用户信息,返回一条或多条记录时
resultType:指定的仍是单条记录所映射的java对象
6.自增主键的表中添加用户,并将主键值返回到user对象中
SELECT LAST_INSERT_ID()insert into user(username,birthday,sex,address) value(#{username},#{birthday},#{sex},#{address})
7.使用mysql的uuid()生成主键的表中添加用户,并将主键值返回到user对象中
SELECT uuid()insert into user(id,username,birthday,sex,address) value(#{id},#{username},#{birthday},#{sex},#{address})
8.sql片段的定义与使用
sql片段的定义,id时sql片段的唯一标识
and user.sex = #{userCustom.sex} and user.username LIKE '%${userCustom.username}%' id=#{user_id}
sql片段的使用
9.resultMap的使用
定义resultMap
使用resultMap进行输出映射