mybatis传值之map(mybatis传递map参数)

mybatis传值之map(mybatis传递map参数)

经验文章nimo972025-04-28 23:26:4815A+A-

我们知道在mybatis中传值给sql语句的方式有:javabean,基本数据类型,还有map...

今天我们来看下什么时候需要用到map

在javabean不够的时候,我们可以使用map来传值给sql。比如两张表关联查询的时候,需要用到两张表中的字段,这个时候我们就可以使用map来进行传值。因为我们没有必要新建一个javabean来特意的给这个sql来使用。

1、通过map来新增学生信息

public class UserTest {
	public static void main(String[] args) throws Exception {
		String resource = "sqlMapConfig.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
		SqlSession sqlSession = factory.openSession();
		Map<String, String> map = new HashMap<>();
		map.put("name", "张三");
		map.put("address", "南京");
		int count = sqlSession.insert("addStudent", map);
		sqlSession.commit();
	}

<?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="userNameSpace">

	<insert id="addStudent" parameterType="map">
		insert into student
		(name,address) values (#{name},#{address})
	</insert>

</mapper>

注意点:

1、在mybatis中事务自动提交默认是关闭的,所以需要我们手动的commit()。

2、map即可以作为参数传入到sql中,也可以将sql的查询结果集封装成map在传给我们。

3、map就为参数传给sql语句的时候,#{}这里面必须是map的可以。

4、分页查询的时候,我们一般使用map传值。

5、map比较灵活,但是可读性没有javabean好

点击这里复制本文地址 以上内容由nimo97整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

尼墨宝库 © All Rights Reserved.  蜀ICP备2024111239号-7