bboss持久层快速入门教程

bboss持久层快速入门教程,快速搭建bboss持久层的开发环境,并编写一个简单的实例,实例中涉及以下功能点:

  1. 动态启动数据源(基于apache dbcp2连接池组件)
  2. 做一个简单的增删改查操作例子

持久层环境搭建

首先搭建持久层demo开发环境,通过svn下载持久层eclipse开发工程:

https://github.com/bbossgroups/bestpractice/trunk/persistent

下载完毕后导入eclipse即可:

启动一个名称叫test的oracle数据源:

SQLUtil.startPool("test",//数据源名称
				"oracle.jdbc.driver.OracleDriver",//oracle驱动
				"jdbc:oracle:thin:@(description=(address_list=(load_balance=off)(failover=on)"
				+ "(address=(protocol=tcp)(host=192.168.1.226)(port=1521))(address=(protocol=tcp)(host=192.168.1.227)(port=1521)))"
				+ "(connect_data=(service_name=PF1)(failover_mode=(type=select)(method=basic)(RETRIES=180)(DELAY=5))))",//oracle rac链接串
				"mdm","123456",//数据库账号和口令
				 "select 1 from dual" //数据库连接校验sql
				);//初始化数据源

数据源启动后,接下来就可以在test数据源上执行相关的操作:

List<String> data = SQLExecutor.queryListWithDBName(String.class,"test","select MODULE_ID from TB_MODULE_INFO where MODULE_URL like ?","%/CrmAccount/%");
		int aid  =SQLExecutor.queryObjectWithDBName(int.class, "test","select max(to_number(AUTH_ID)) from TB_MODULE_AUTH");
		aid ++;
		for(String mid:data)
		{
			SQLExecutor.insertWithDBName("test", "insert into TB_MODULE_AUTH(AUTH_ID,ADMIN_ID,MODULE_ID) values(?,‘23‘,?)", aid+"",mid);
			aid = aid+1;
		}

		SQLExecutor.insertWithDBName("test", "insert into TB_MODULE_AUTH(AUTH_ID,ADMIN_ID,MODULE_ID) values(?,‘23‘,?)", aid+"","11");

再看一个基于sqlite的数据库的判断表不存在并建表的示例:

//启动sqlite数据源gencode
		SQLUtil.startPool("gencode","org.sqlite.JDBC","jdbc:sqlite://"+dbpath,"root","root",
				 "select 1"
	        		);
		//判断数据源gencode中对于的表BBOSS_GENCODE是否存在,不存在则创建
		String exist = "select 1 from BBOSS_GENCODE";

		try {
			SQLExecutor.queryObjectWithDBName(int.class,"gencode", exist);
		} catch (Exception e) {
			String tsql = "create table BBOSS_GENCODE (ID string,TABLENAME string,DBNAME string,FIELDINFOS TEXT,AUTHOR string,"
				       + "COMPANY string,"
				       + "CREATETIME number(10),"
				       + "UPDATETIME number(10),"
				       + "CONTROLPARAMS TEXT,"
				       + "  PRIMARY KEY (ID))";
			 
			try {
				SQLExecutor.updateWithDBName("gencode",tsql);
				 
			} catch (SQLException e1) {
				 
				e1.printStackTrace();
			}
		}

完整的测试用例请看工程中的CustomPoolTest.java文件。

备注:执行sqlite测试方法时,需要依赖sqlite驱动sqlite-jdbc-3.8.10.1.jar文件,下载地址:

https://github.com/bbossgroups/bboss-gencode/blob/master/WebRoot/WEB-INF/lib/sqlite-jdbc-3.8.10.1.jar?raw=true

下载后将这个sqlite-jdbc-3.8.10.1.jar包放入persistent 工程lib目录,并加入工程classpath即可。

持久层更多使用方法参考文档:

http://yin-bp.iteye.com/blog/2181720

时间: 2024-10-06 20:15:01

bboss持久层快速入门教程的相关文章

npm 与 package.json 快速入门教程

npm 与 package.json 快速入门教程 2017年08月02日 19:16:20 阅读数:33887 npm 是前端开发广泛使用的包管理工具,之前使用 Weex 时看了阮一峰前辈的文章了解了一些,这次结合官方文章总结一下,加深下理解吧! 读完本文你将了解: 什么是 npm? 安装 npm 更新 npm package.json 文件 package.json 如何创建 package.json 的内容 指定依赖的包 Semantic versioning(语义化版本规则) 安装 pa

C语言快速入门教程(二)

C语言快速入门教程(二) C语言的基本语法 本节学习路线图: 引言: C语言,顾名思义就是一门语言,可以类比一下英语; 你要说出一个英语的句子需要:  单词  +  语法!  将单词按照一定的语法拼凑起来就成了一个英语句子了; C语言同样是这样,只不过单词可以理解为一些固定的知识点,而语法可以理解为算法(可以理解为解决问题的方法) 在这一节中我们就对固定知识点中的语言描述与数据存储进行解析! 1.C语言的基本元素 1.1  标识符 什么是标识符? 答:在C语言中,符号常量,变量,数组,函数等都需

CMake快速入门教程-实战

http://www.ibm.com/developerworks/cn/linux/l-cn-cmake/ http://blog.csdn.net/dbzhang800/article/details/6314073 http://www.cnblogs.com/coderfenghc/archive/2013/01/20/2846621.html http://blog.sina.com.cn/s/blog_4aa4593d0100q3bt.html http://hahack.com/c

C语言快速入门教程(一)

C语言快速入门教程(一) C语言概述(开发准备) 本节学习路线图: ps:标记3的表示不是很重要,知道有这个东西就行了;标记1表示非常重要,需要熟练掌握! 1.C语言的概述: 1.1  计算机与程序设计语言之间的关系? 答:计算机是由硬件与软件系统组成的;硬件---->物质基础;软件----->灵魂; 如果脱离了软件,计算机就是一台什么都做不了的裸机; 可以形象地比喻成人的大脑和身体;两个互不可缺! 1.2  程序设计语言的更新换代: 1.3 C语言的特点 1.4  最简单的HelloWorl

EntityFramework6 快速入门教程

EntityFramework6 快速入门教程 不得不说EF在国内实在是太小众,相关的技术文章真实屈指可数,而且很多文章都很旧了,里面使用的版本跟如今的EF6差别还是比较大.我刚开始弄这个的时候真是绕了不少弯路. 学习EF还是需要一些条件,使用EF并不意味着你就可以完全不跟数据库打交道了,要学好EF,数据库中的什么主键.外键.索引.SQL等你还是要懂,另外EF中将大量使用LINQ来进行数据查询,数据模型中还将涉及到特性与泛型,所以对于C#的基础要求还比较高. 在我看来EF并不适合初学者使用,虽然

Velocity快速入门教程

Velocity快速入门教程-脚本语法详解(转) 1.变量 (1)变量的定义: #set($name = "hello")      说明:velocity中变量是弱类型的. 当使用#set 指令时,括在双引号中的字面字符串将解析和重新解释,如下所示: #set($directoryRoot = "www" ) #set($templateName = "index.vm" ) #set($template = "$directoryR

专为设计师而写的GitHub快速入门教程

原文出处: Kevin Li 在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目托管平台,许多企业也都是用GitHub来协同开发工作,当然我 们彩程也是其中之一.笔者最初决定学习Git也是因为在团队内部设计方案初步被开发出来后,难免会有一些细节需要调整,而为了调整几像素的问题再求前端工 程师出马,其实是很影响整体效率的,所以希望通过学习GitHub好在必要的时候直接参与开发,能发挥自己的一点CSS技术以更直接快速的解决问题. 但是期间竟然发现网上无一篇为设计师而备的G

ThinkPHP3.1快速入门教程

ThinkPHP3.1快速入门教程 http://www.thinkphp.cn/info/155.html --------------------------------------------------------------------- ThinkPHP 3.1 完全开发手册 http://doc.thinkphp.cn/manual/

C#基础与实例教程最简单的C#快速入门教程【转自:http://www.82011433.com/Html/?6982.html】

c#基础与实例教程最简单的C#快速入门教程 在一小时内学会C#.使用例程,简单却完整的探索C#语言的构造和特点.本文特别适合有C++基础却没有太多精力学习C#的读者. 简介 C#是一种具有C++特性,Java样式及BASIC快速建模特性的编程语言.如果你已经知晓C++语言,本文将在不到一小时的时间内带你快速浏览C#的语法.如果熟悉Java语言,Java的编程结构.打包和垃圾回收的概念肯定对你快速学习C#大有帮助.所以我在讨论C#语言构造的时候会假设你知道C++. c#基础与实例教程最简单的C#快