mybatis之映射文件

本文介绍MyBatis框架中映射文件的使用方法,包括动态SQL语句的编写及增删改查操作。解释了如何通过配置文件将Java接口与SQL语句关联起来,重点介绍了<select>、<insert>、<update>、<delete>等标签的使用方法及关键参数如id、parameterType、resultType、resultMap等。
摘要由CSDN通过智能技术生成

mybatis框架如何实现java语句与数据库语句的分离——映射文件
通过在映射文件中写入动态sql语句,完成增删改查操作。映射文件中的元素都包含在根节点< mapper>< /mapper>下,mapper中一般具有一个namespace的属性,该属性用来指明定义的Dao接口类。例如接口定义如下:

public interface IDao{}

则namespace配置为:

<mapper namespace="IDao">

这里只需对应好相对应的接口就可以了,正是通过这种方式,使Dao接口类不需要利用java语句在程序中进行重写,只需在文件体中写入相应的动态sql语句即可。
常用的元素标签有select,insert,update,delete,也就是对应的“增删改查”操作,跟数据库完全一致。这里需要对元素中常用到的一些参数进行说明:
1. id:这里的id就是对应的接口类中声明的函数名。例如上例中的:

public interface IDao{
    List<T> selectById(String id);
}

这是的id=”selectById”,通过这个配置来完成逐个函数的一一对应
2. parameterType:参数的类型.可以是基本类型String,int等,也可以是引用类型或者一个map,注意的是用map传参后不可以直接使用模糊查询,或写成

select * from table where columnId like CONCAT('%',#{Id},'%')

这种格式。
3. resultType和resultMap:这里需要对这两种属性进行区分,在单条返回数据时,两者的作用相同,均是返回数据类型。但当返回多条数据时,只能使用resultMap。

<resultMap id="UserMap" type="User"> 
    <id property="id" column="id" /> 
    <result property="userName" column="userName"/> 
    <result property="password" column="password"/> 
</resultMap>
<select id="selectUsers" resultMap="UserMap"> 
    select id, userName, password from UserTable   
</select>

可以看出,使用resultMap这个参数之前,需要对resultMap进行配置,id就是自定义的返回类型,type是返回的数据类型。之后的就是数据表中的关键字,除了id主键外,定义在result属性中与数据表中的关键字列标签为一一对应关系。之后通过select语句可以查询到UserTable表中的所有数据。
4. statementType:有STATEMENT,PREPARED 和 CALLABLE三种。分别对应于Statement,PrepareStatement 和 CallableStatement,默认为PREPARE
针对于insert方法,还有两个常遇到的属性
5. keyProperty:标记一个属性,mybaits框架会调用getGeneratedKeys方法或者通过insert语句中的selectKey子元素来设置值,默认为不需要。
6. useGeneratedKeys:mybatis框架同样调用getGeneratedKeys方法来取出数据内部自增属性的主键,常用的就是id,当需要取id的时候会用到该属性,可用于多张表之间的关联操作,默认是不需要的,设置为false。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值