Mybatis 37_使用隐式参数名处理多个参数

发布时间:2024年01月13日

参数处理

Mapper接口的方法有多个情况的参数需要传入SQL语句

单个标量类型的参数:

参数值会直接传给Mapper中SQL语句的#{}占位符,#{}中的占位符名可以随意定义。

此时:由于只有单个标量类型的参数,因此Mapper中定义的SQL语句业只能有单个#{}占位符。

单个复合类型或Map的参数:

此时Mapper中SQL语句的#{}中的占位符名必须是复合对象的属性名或Map的key。

因为在这种情况下,MyBatis将对象的属性值或将Map的value传给对应的#{}占位符

此处的属性名支持属性路径写法的,比如#{name.first} , 表明为该占位符传入唯一参数的name属性的first属性

多个参数:

此时Mapper中SQL语句的#{}中的占位符名必须先引用指定的参数。

项目0414隐式参数名

主类

package lee;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.itcheng.app.dao.NewsMapper;
import org.itcheng.app.domain.News;

public class NewsManager
{
   
	// SqlSessionFactory应该是应用级别
	private static SqlSessionFactory sqlSessionFactory;
	public static void main(String[] args) throws IOException
	{
   
		String resource = "mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream</
文章来源:https://blog.csdn.net/weixin_39289095/article/details/134628154
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。