您当前的位置: 首页 >  sql

Charge8

暂无认证

  • 6浏览

    0关注

    447博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Mybatis 提取公共SQL语句标签

Charge8 发布时间:2018-11-20 20:25:56 ,浏览量:6

一、sql:sql和include配合使用

       这个元素可以被用来定义可重用的 SQL 代码段,可以包含在其他语句中。它可以被静态地(在加载参数) 参数化. 不同的属性值通过包含的实例变化。

1、定义可重用的 SQL代码段

	id,username,pazzword,state,reg_date
	
	
		select 
			 
		from t_user where id = #{id}
	

----
select id,username,pazzword,state,reg_date from t_user where id = ? 

2、通过 property子标签给sql标签里传值,通过 ${} 获取值

     1)比如:给查询表起个别名

	${alias}.id,${alias}.username,${alias}.pazzword,${alias}.state,${alias}.reg_date
	
	
		select 
			
				
			 
		from t_user t1 where t1.id = #{id}
	

----
select t1.id,t1.username,t1.pazzword,t1.state,t1.reg_date from t_user t1 where t1.id = ? 

    2)提取可重用的查询条件

	
		
			and username like concat('%',concat(#{username},'%')) 
		
		
			and state like #{state}
		
	
	
	
		select * from t_user 
		
			
		
	

List userList = userMapper.getUserBylike("a",1);

注意:

    1)sql和include配合使用,sql标签里和其他增删改查标签一样支持动态slq标签

    2)include标签可以通过property子标签给sql标签里传值,sql标签里用 ${} 获取

二、bind标签(了解)

      bind元素可以从 OGNL表达式中创建一个变量并将其绑定到上下文

      比如:模糊查询 传参,使用bind元素 拼接 % 号, 注意:不能传 null值

	
		
		select * from t_user where
		
			
				username like #{new_username}
			
			
				state like #{state}
			
			
				1=1
			
		
	

   

 

ends~

关注
打赏
1664721914
查看更多评论
立即登录/注册

微信扫码登录

0.0365s