Mybatis 绑接接口 参数传递

mybatis 接口绑定

mybatis 配置:
https://blog.csdn.net/YIPUTILIU/article/details/108089512

1.你需要 一个接口
FlowerMapper.java

public interface FlowerMapper {
   public interface FlowerMapper {
      List<Flower> selectAll();
      int  insertFlower(Flower a);  
      //int  upd(@Param("name")String name ,@Param("id")int id);
      int  upd(String name ,int id);
}     
}

2.在配置文件中 将 mappers 标签下 mapper 标签 改成 由package 配置
name 属性为 你所写的接口所处的包的层级

	<mappers>
		<!--  <mapper resource="com/one/mapper/flowerMapper.xml" />-->
		<package name="com.one.mapper"/>
	</mappers>

3.两个相同
a.在 *mapper.xml (sql语句映射文件 )中 namespace 属性值 与你所写接口的全路径名 相同

b.里面各个查询语句的标签 (id属性值 )与接口中方法名 相同
//sql配置文件 和 接口名尽量类似 且有规律性
//例如 flowerMapper.xml 和 FLowerMapper
flowerMapper.xml

<?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="com.one.mapper.FlowerMapper"><!--有相应接口按住 ctrl键是可以跳转到接口的  -->
	<select id="selectAll" resultType="com.one.bean.Flower">
		select * from flower
	</select>	
	<insert id = "insertFlower" parameterType="com.one.bean.Flower">
	insert into flower values(default,#{name},#{price},#{production})
	</insert>
	<!-- <update id = "upd" parameterType="map">
	update flower set name = #{name} where id = #{id}
	</update>
	<update id = "upd" parameterType="map">
	update flower set name = #{0} where id = #{1}
	</update>-->
	<update id = "upd" parameterType="map"> 
	update flower set name = #{param1} where id = #{param2}
	</update>
</mapper>

参数传递

在接口方法中 我们可以传递多个参数以装配sql语句

(1).若是map参数 或者是 设置了set get方法的实体类对象 可以通过
#{属性名 或者 key}
直接调用 例如上述的 insertFlower
<insert id = "insertFlower" parameterType="com.one.bean.Flower"> insert into flower values(default,#{name},#{price},#{production}) </insert>
(2) 直接向接口内传递 基本数据类型 或者String 字符串
如下
int upd(String name ,int id);
可以利用 变量位置索引 获取

<update id = "upd" parameterType="map"> update flower set name = #{0} where id = #{1} </update>
或者
<update id = "upd" parameterType="map"> update flower set name = #{param1} where id = #{param2} </update>

也可以在接口中将传进去的参数添加注解
例如
int upd(@Param("name")String name ,@Param("id")int id);
这样在外部调用时 还是 正常的传入参数
但是mybatis处理时还是 按照
key (我们在 “…” 起的名字)
去找value(我们传入的相应参数)

附:
mybatis resultMap
简单应用实例
https://blog.csdn.net/YIPUTILIU/article/details/108157923

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值