mybaits十九:bind绑定

34 篇文章 0 订阅
<select id="getEmpsByInnerParam" resultType="com.atChina.bean.Employee">
     	<!-- bind标签可以将OGNL表达式的值绑定到一个变量中,方便后来引用这个变量的值 -->
     	<bind name="_empName" value="'%'+ename+'%'"/>  <!-- value属性中可以写OGNL表达式 -->
     	select * from emptest
     	<if test="_parameter != null">
     		where ename like #{_empName}
     	</if>
     </select>

如果mybatis版本比较低,可能会遇到org.xml.sax.SAXParseException: Element type "bind" must be declared的错误. 因为低版本的jar包中是没有定义bind标签的

 

@Test
	public void test34() throws IOException, ParseException {
		String resource = "mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
		
		SqlSession openSession = sqlSessionFactory.openSession();
		try{
				
			// 命名空间.id,这样别的配置文件里有同名的id,程序也不报错
			EmployeeMapperDynamicSql eds = openSession.getMapper(EmployeeMapperDynamicSql.class);
			Employee e1 = new Employee();
			e1.setEname("t"); // 这样就直接传入 t就行了,, 但还是推荐使用'%t%'这种方式
			List<Employee> ees = eds.getEmpsByInnerParam(e1);
			for(Employee e : ees){
				System.out.println(e);
			}
		
			openSession.commit();
			
		}finally{
			// 关闭
			openSession.close();
		}
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值