持久层快速入门系列一

简介: 持久层快速入门 先在应用中导入bboss 持久层(bboss persistent版本号5.0.6.7,以实际为准:查看最新版本号):   maven坐标 com.bbossgroups bboss-persistent 5.
持久层快速入门
先在应用中导入bboss 持久层(bboss persistent版本号5.0.6.7,以实际为准:查看 最新版本号):
 
maven坐标
<dependency> 
    <groupId>com.bbossgroups</groupId> 
    <artifactId>bboss-persistent</artifactId> 
    <version>5.0.7.1</version> 
</dependency> 

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



bboss持久层操作实例
启动数据源,dbname为test
 try{
        	SQLUtil.startPool("test",//数据源名称
    				"com.mysql.jdbc.Driver",//oracle驱动
    				"jdbc:mysql://localhost:3306/bboss",//mysql链接串
    				"root","123456",//数据库账号和口令
    				 "select 1 " //数据库连接校验sql
    				);

在数据源上执行查询,dbname为test:
       
List<HashMap> datas = SQLExecutor.queryListWithDBName(HashMap.class,"test", "select * from t_hive");
        	for(int i = 0; datas != null && i < datas.size(); i ++)
        	{
        	    		System.out.println(datas.get(i));
        	}
        } catch(SQLException e) {
            e.printStackTrace();
        }


一个简单的加载sql配置文件的dao实例:
sql配置文件,文件必须在classes路径下:com/test/sql/test.xml

<properties>  
    <property name="tdSmUserJobOrgSelect">  
        <![CDATA[ 
            select * from td_sm_userjoborg where user_id=#[userId] 
        ]]>  
    </property>  
</properties>  


创建一个加载配置文件的通用dao:
com.frameworkset.common.poolman.ConfigSQLExecutor dao= new com.frameworkset.common.poolman.ConfigSQLExecutor("com/test/sql/test.xml");  
//指定dbname为test  
String dbname="test";
List<HashMap> datas = dao.queryListWithDBName(HashMap.class,dbname, "tdSmUserJobOrgSelect");  
            for(int i = 0; datas != null && i < datas.size(); i ++)  
            {  
                        System.out.println(datas.get(i));  
            }  
        } catch(SQLException e) {  
            e.printStackTrace();  
        } 

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

注意:sql配置文件中的sql语句支持热加载,在线修改实时生效,对于开发和调试非常方便

动态获取bboss持久层配置的所以连志池的名称和配置信息:
import com.frameworkset.common.poolman.util.JDBCPoolMetaData;
import com.frameworkset.common.poolman.DBUtil;
            DBUtil dbUtil = new DBUtil();
		Enumeration enum_ = dbUtil.getAllPoolnames();
		while(enum_.hasMoreElements()){
			String poolname = (String)enum_.nextElement();
			JDBCPoolMetaData metadata =  
                 DBUtil.getPool(poolname).getJDBCPoolMetadata();
}


更多bboss 持久层文档,请参考:
http://yin-bp.iteye.com/blog/2181720
目录
相关文章
|
6月前
|
传感器 边缘计算 安全
《虚实共生:双向映射重塑具身智能决策逻辑》
传统具身智能因信息碎片化陷入“局部认知”困境,如盲人摸象。数字孪生与物理实体的双向映射,通过构建虚实交融的“认知镜像”,为智能体提供全局视角和预测能力。以智能工厂、物流配送、应急救援等场景为例,这种闭环体系显著提升决策效率与安全性。然而,数据隐私、模型精度等问题仍需技术创新与制度保障解决。最终,双向映射将使智能体进化为拥有深度环境理解与动态决策能力的“数字生命体”。
206 32
|
8月前
|
运维 监控 应用服务中间件
|
8月前
|
JavaScript 前端开发 Java
OpenGMS是什么?如何使用OpenGMS的建模与模拟工具(一)
只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
10月前
|
存储 算法 C语言
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
566 23
|
关系型数据库 MySQL 数据库
MySql 数据库 - 重置数据库、重置初始密码方法,数据库初始化方法,长时间不用忘记密码暴力解决方法
MySql 数据库 - 重置数据库、重置初始密码方法,数据库初始化方法,长时间不用忘记密码暴力解决方法
1151 0
MySql 数据库 - 重置数据库、重置初始密码方法,数据库初始化方法,长时间不用忘记密码暴力解决方法
|
6月前
|
人工智能
0元打造520浪漫神器,用CodeBuddy生成专属爱情故事书
520即将到来,还在为挑选礼物发愁吗?想送特别的又预算有限?试试用CodeBuddy打造0成本、情感满分的浪漫礼物!只需简单指令,无需写代码,即可生成专属你们的爱情故事书。输入名字与相识时间,自动生成温馨网页或PDF,支持私密链接保存、打印成册,甚至嵌入音乐照片。CodeBuddy作为AI开发搭档,助你将回忆化为独特惊喜,让科技书写动人情话。今年520,用心意与创意打动对方!
|
6月前
|
设计模式 存储 JavaScript
【设计模式】【行为型模式】迭代器模式(Iterator)
一、入门 什么是迭代器模式? 迭代器模式(Iterator Pattern)是一种行为设计模式,它提供了一种顺序访问聚合对象中元素的方法,而不需要暴露其底层表示。迭代器模式将遍历逻辑从聚合对象中分离出
169 11
|
安全 网络安全 数据安全/隐私保护
利用Docker的网络安全功能来保护容器化应用
通过综合运用这些 Docker 网络安全功能和策略,可以有效地保护容器化应用,降低安全风险,确保应用在安全的环境中运行。同时,随着安全威胁的不断变化,还需要持续关注和研究新的网络安全技术和方法,不断完善和强化网络安全保护措施,以适应日益复杂的安全挑战。
364 61
|
存储 安全 数据安全/隐私保护
Docker的安全性体现在哪些方面?
综上所述,Docker 通过一系列的安全机制和措施,为用户提供了相对可靠的安全保障。然而,如同任何技术一样,Docker 的安全也需要持续的关注和维护,用户应保持警惕,不断加强安全管理和防范措施,以应对不断变化的安全威胁。在利用 Docker 带来便利的同时,也要确保其安全性,为应用的稳定运行和数据的安全提供坚实的保障。
467 60
|
JavaScript API 开发者
掌握ArkTS,打造HarmonyOS应用新视界:从“Hello World”到状态管理,揭秘鸿蒙UI开发的高效秘诀
【10月更文挑战第19天】ArkTS(ArkUI TypeScript)是华为鸿蒙系统中用于开发用户界面的声明式编程语言,结合了TypeScript和HarmonyOS的UI框架。本文介绍ArkTS的基本语法,包括组件结构、模板和脚本部分,并通过“Hello World”和计数器示例展示其使用方法。
660 1