数据库连接和数据库操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库连接和数据库操作
1.数据库连接
ZCF连接数据库是通过从连接池中获取已经在database.xml文件中配置好的连接来实现的。连接配置比较简单,都是在配置文件database.xml中进行配置,详细配置说明请参看数据库连接池。执行数据库操作的时候默认是取name=”Default”配置的连接。如果想获得其他连接可以通过以下代码(代码摘自附件DBConnExample.java.)实现:DataAccessda=new DataAccess(DBConnPool.getConnection("example"));
使用以上方法请注意关闭数据库连接,标准用法代码示例:
//取得配置连接名字为example的连接
DataAccessda=new DataAccess(DBConnPool.getConnection("example"));
//构造QueryBuilder实例
QueryBuilderqb=new QueryBuilder("select*fromzcexample");
//将QueryBuilder实例置入取得连接的da,这样数据库进行sql查询的时候使用的是ex ample连接,执行查询后得到DataTable.
DataTabledt=da.executeDataTable(qb);
//输出dt
System.out.println(dt);
//输出dt中列名为Name的所有值
for(int i=0;i
System.out.println("姓名:"+dt.getString(i,"Name"));
}
//最后关闭数据库连接
if(da!=null){
try{
da.close();
}catch(Exceptione){
e.printStackTrace();
//TODO:handleexception
}
}
结果图如下:
图:数据库连接程序运行结果演示中使用默认连接配置如下:
2.数据库操作
2.1数据库操作系统概述
Web应用中数据持久化的首选当属关系型数据库,所以J2EE开发人员大部分的开发时间会花费在数据库操作上,但使用JDBC直接操作数据库存在很多不便之处,因此需要对JDBC进行进一步的封装,以更为合理的方式使数据库操作与业务逻辑接合。
一般而言,数据库操作需要考察以下几个问题:
1)能不能不修改程序自动支持多种数据库?
2)能不能对数据库连接进行有效的监控以防止连接泄漏?
3)能不能不需要开发人员手工管理连接的关闭?
4)能不能一条语句就得到想要的数据集?
5)得到数据集后能不能便利地按行、按列、按字段名找到指定值?
6)得到数据集后能不能对行、列进行增、删、改操作?
7)得到数据集后能不能进行排序、筛选等操作?
8)能不能方便地分页提取数据集?
9)一张数据表通常代表着一个业务实体,有没有一种面向对象的方式操作数据,使得开发人员不需要小心翼翼地拼写字段名称?
10)能不能方便地使用事务?
11)数据经常需要进行修改、删除等对业务逻辑有着重要影响的操作,如何保存数据的历史版本,以便于错误操作之后进行恢复?
12)SQL注入是Web应用最为主要的安全问题,能不能提供一种统一的方法防止SQL注入?
各个软件开发机构数据库操作的开发框架一般只对上述问题中的某几个给出肯定答案,对于其它方面则需要开发人员手工解决,而ZvingFramework通过一个轻量级的数据库操作API,在保持与直接操作JDBC同等性能的情况下对全部问题给出了肯定答案。
2.2数据库连接池
通过修改类文件根目录下(WEB应用是WEB-INF/classes)的database.xml中的d atabaeses节点来配置连接池,配置文件示例如下: