bboss 持久层sql xml配置文件编写和加载方法介绍

阅读更多
bboss 持久层sql xml配置文件编写和加载方法介绍
通过bboss持久数操作数据库首先要配置数据源,参考文档:
bboss持久层多数据源配置及多数据库事务控制使用方法

bboss 持久层配置apache dbcp,proxool,c3p0,Druid等数据源方法
1.sql xml文件编写

首先在项目中导入bboss 持久层包:
maven坐标
 
    com.bbossgroups 
    bboss-persistent 
    5.1.3 
 

gradle坐标
compile 'com.bbossgroups:bboss-persistent:5.1.3'


sql xml文件存放在的工程的具体的包路径中,例如:
com/pdp/masterdata/hr/dao/HumanDataSql.xml
sql xml文件配置遵循bboss ioc 语法,sql语句语法分为原生sql和模板变量sql,原生sql样列:
select * from tableinfo where name like ?


模板变量sql中可以包含bboss自定义模板变量和基于velocity语法动态sql,样列:
update td_sm_organization 
			set #if($orgName && !$orgName.equals(""))
					org_name=#[orgName],
				#end
				#if($parentId && !$parentId.equals(""))
					parent_id=#[parentId],
				#end
				#if($orgnumber && !$orgnumber.equals(""))
					orgnumber=#[orgnumber],
				#end
				#if($orgdesc && !$orgdesc.equals(""))
					orgdesc=#[orgdesc],
				#end
				#if($chargeorgid && !$chargeorgid.equals(""))
					chargeorgid=#[chargeorgid],
				#end
				#if($remark3 && !$remark3.equals(""))
					remark3=#[remark3],
				#end
				#if($remark5 && !$remark5.equals(""))
					remark5=#[remark5],
				#end
				#if($orgTreeLevel && !$orgTreeLevel.equals(""))
					org_tree_level=#[orgTreeLevel],
				#end
				#if($orgLevel && !$orgLevel.equals(""))
					org_level=#[orgLevel],
				#end
				#if($orgXzqm && !$orgXzqm.equals(""))
					org_xzqm=#[orgXzqm],
				#end
				org_id=#[orgId]
			where org_id=#[orgId] 

动态sql更多介绍,可访问文档: http://yin-bp.iteye.com/blog/2181720

sql文件示例com/pdp/masterdata/hr/dao/HumanDataSql.xml:



	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	






2.加载配置文件初始化bboss 持久层通用dao
bboss sql配置文件遵循bboss ioc 语法,dao加载sql文件:
com.frameworkset.common.poolman.ConfigSQLExecutor dao= new com.frameworkset.common.poolman.ConfigSQLExecutor("com/pdp/masterdata/hr/dao/HumanDataSql.xml");
//指定dbname
List datas = dao.queryListWithDBName(HashMap.class,dbname, "selectTdSmOrgKey");
        	for(int i = 0; datas != null && i < datas.size(); i ++)
        	{
        	    		System.out.println(datas.get(i));
        	}
        } catch(SQLException e) {
            e.printStackTrace();
        }

//不指定dbname
List datas = dao.queryList(HashMap.class, "selectTdSmOrgKey");
        	for(int i = 0; datas != null && i < datas.size(); i ++)
        	{
        	    		System.out.println(datas.get(i));
        	}
        } catch(SQLException e) {
            e.printStackTrace();
        }

加载配置文件的dao的具体api使用,可以参考文档: http://yin-bp.iteye.com/blog/1112997

你可能感兴趣的:(bboss,sql,xml,dao)