Mybatis---mapper接口文件配合XML映射文件进行sql查询

mapper接口文件配合XML映射文件进行sql查询

建立mapper接口对应的xml映射文件.

Xml文件中<mapper>跟标签的namespace属性是用来关联xml文件和mapper接口文件的,
namespace的值需要配置成接口的全限名称
<mapper namespace="tk.mybatis.simple.mapper.UserMapper">`
建好映射文件之后还需要在**mybatis-config.xml** 文件中设置<mappers>
<mappers>
    <package name="tk.mybatis.simple.mapper"/>
</mappers>
<mappers>中可以用mapper逐个对xml文件进行资源导入.如果直接将mapper的包路径配置进去的话,可以查找包下的所有接口,
可以避免逐个增加的麻烦.
如此配置会对接口进行如下操作:
1. 判断接口对应的命名空间是否己经存在,如果存在就抛出异常,不存在就继续进行接下来的操作。
2. 加载接口对应的却也映射文件 , 将接口全限定名转换为路径 ,
3. 处理接口中的注解方法。

SELECT

传参

接口中的方法是通过id来跟xml文件中的SQL操作进行关联的.接口中的方法可以重载,但是xml中对应SQL操作的id是唯一的,
重载传入的不同参数可以在SQL中进行体现.

返回值

SQL查询返回的类型使用resultType和resultMap中的type来设置.要与接口方法中的返回值相对应,
resultMap 标签用于配置 Java 对象的属性和查询结果列的对应关系,通过<id>和<result>
涉及到多表查询,进行值的返回:
	如果额外的查询返回值较少,可以直接新建一个扩展对象来继承源对象,加入需要扩展的属性来进行扩展返回,
	如果涉及到的其他表单的值较多,可以在查询对象中实例化涉及到的其他的对象,然后来获取其他对象的属性.
	SQL语句查询出来的参数,要与其他对象获取属性的方式相对应
	u.user name as ” user.userName”

其他配置

配置以下划线的方式映射到java对象驼峰命名的属性中:
 <setting name="mapUnderscoreToCamelCase" value="true"/>

INSERT

MyBatis 会使用 JDBC 的 getGeneratedKeys 方法来取出由数据库内部生成的主键,并赋值给id属性
<insert id=” insert” useGeneratedKeys=true ” keyProperty=” id” >
使用<selectKey>标签返回主键的值
<selectKey keyColumn=” id” resultType=long” keyProperty=” id” order=”AFTER” >
	SELECT LAST INSERT ID () 
</selectKey>
使用mysql的时候,放在插入语句的下方.
使用Oracle的时候,放在插入语句的上方,并将获取的id写入sql中

UPDATA和DELETE与上面类似

多个接口参数的用法:

将多个参数合并到一个JavaBean中,但是参数过少的时候专门去创建一个JavaBean不太划算.
还能使用Map类型作为参数或者使用@Param注解	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值