mapper.xml的使用
2018-05-26 本文已影响27人
幻影翔
<?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 namespace="mapper.UserMapper">
注意:namesqace命名空间,为了对sql语句进行隔离。方便管理,mapper开发dao方式,使用namespace有特俗作用
mapper代理开发时,namespace指定为mapper接口的全限代理名
id:唯一标识 一个statement
#{}:表示 一个占位符,如果#{}中传入简单类型的参数,#{}中的名称随意
parameterType:输入 参数的类型,通过#{}接收parameterType输入 的参数
resultType:输出结果 类型,不管返回是多条还是单条,指定单条记录映射的pojo类型
查询用户
<select id="findUserById" parameterType="int" resultType="user">
select * from user where id=#{id}
</select>
<select id="findUserByname" parameterType="java.lang.String" resultType="pojo.User">
select * from user where username like concat('%',#{value},'%')
</select>
添加用户
parameterType:输入 参数的类型,User对象 包括 username,birthday,sex,address
#{}接收pojo数据,可以使用OGNL解析出pojo的属性值
#{username}表示从parameterType中获取pojo的属性值
selectKey:用于进行主键返回,定义了获取主键值的sql
order:设置selectKey中sql执行的顺序,相对于insert语句来说
keyProperty:将主键值设置到哪个属性
resultType:select LAST_INSERT_ID()的结果 类型
<insert id="InserUser" parameterType="pojo.User" >
<selectKey keyProperty="id" order="AFTER" resultType="int">
select LAST_INSERT_ID()
</selectKey>
insert into user(username,sex,birthday,address) values(#{username},#{sex},#{birthday},#{address})
</insert>
删除用户
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
用户更新
要求:传入的user对象中包括 id属性值
<update id="updateUser" parameterType="pojo.User" >
update user set
username=#{username},sex=#{sex},birthday=#{birthday},address=#{address}
where id=#{id}
</update>