Mybatis的使用方式——映射文件

mapper的属性

简单的示例如下:

<mapper namespace="com.maven.sssm.Dao">
</mapper>

namespace的值就是dao接口的完整路径,就这个demo而言namespace 就是Dao.java的完整路径.。

select查询语句

查询语句是 MyBatis 中最常用的元素之一,简单的示例如下:

<select id="selectPerson" parameterType="int" resultType="hashmap">
  SELECT * FROM PERSON WHERE ID = #{id}
</select>

selectPersion是这个语句的名字,在调用是通过id来调用。parameterType="int"是指接收一个int类型的参数,resultType="hashmap"是指返回一个hashmap类型的对象。

#{id}是指传递的参数的名字为id,使用#{}可以获取id的值。

select的常用属性有如下三个:

select的常用属性
属性描述
id语句的名字,命名空间的唯一标识符,可以用来被引用这个语句
parameterType将会传入这条语句的参数类的完全限定名或别名。这个属性是可选的,因为 MyBatis 可以通过 TypeHandler 推断出具体传入语句的参数,默认值为 unset(依赖驱动)。
resultType从这条语句中返回的期望类型的类的完全限定名或别名。注意如果是集合情形,那应该是集合可以包含的类型,而不能是集合本身。使用 resultType 或 resultMap,但不能同时使用。

对于select而言,查询到了数据往往不值一条,故在调用接口文件中可以使用List<>作为返回值,但是在mapper文件中的返回类型还应该是bean类型的。

insert, update 和 delete

示例:

<insert id="insertAuthor">
  insert into Author (id,username,password,email,bio)
  values (#{id},#{username},#{password},#{email},#{bio})
</insert>

<update id="updateAuthor">
  update Author set
    username = #{username},
    password = #{password},
    email = #{email},
    bio = #{bio}
  where id = #{id}
</update>

<delete id="deleteAuthor">
  delete from Author where id = #{id}
</delete>

mybatis允许增删改直接定义以下类型的返回值:Integer、Long、Boolean(包装类和基本类都可以),只需要在调用时修改方法的返回值即可,不用在mapper中做属性的改变。

insert在添加时,添加属性useGeneratedKeys=“true”即可自动返回一个自增的主键值,以keyProperty属性的方式返回。

在传入多个参数时mybatis会做特殊处理,会封装成一个map,在mapper中使用#{param1}、#{param2}去取值,或者在传参时在接口的参数前加上@Parma(“别名”),在mapper中调用时就可以直接使用#{别名}进行取值了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值