CtripDal 携程数据库访问框架简析

发布时间:2025-12-09 19:16:10 浏览次数:4

最近学习了下携程的数据库访问框架,网上有比较完整详细的学习方案,

本篇也是基于前者的学习文档做简单的介绍,希望能给初学者一些帮助。

原文链接地址可以点这里:http://www.oschina.net/p/ctrip-dal?fromerr=dydkH4Hz

以下是我个人的总结,以便日后回顾。


CtripDal 的使用简单来说可以分成两部分:

一,代码生成器

不同于其他的代码生成器,携程这款开源框架有自己的web主页,方便管理团队人员,数据库,和生成的dao,

适合整个项目团队使用,生成统一风格代码。

那么如何安装使用呢?

1,下载项目源码,然后打成war包,部署到自己的服务器上启动。

下载地址:https://github.com/ctripcorp/dal.git

2,如果各位觉得下载源码比较麻烦,可以直接下载打包好的ROOT.war,部署到自己的服务器上即可。

下载地址:http://download.csdn.net/detail/hejiehui/9650838

这里我说明一下:

(1)源码下载后在我的工程里一直报错,引入了缺失的包还是一样,所以我采用的是上面的方法2,直接下载ROOT.war包。

(2)该项目只适用于tomcat 7,我用的是apache-tomcat-7.0.68,可以正常启动。

(3)删除tomcat webapps中所有内容,将ROOT.war部署进去,启动tomcat,访问http://localhost:8080


成功后可以进入如下页面,这里需要填写可用的数据库地址,连接测试成功后点击下一步:

由于是第一次登陆,以下的所有信息都可以随便填写,保证数据库连接可用即可,方便后面做测试。


然后按照说明填写以下信息,点击“保存”,CodeGen的初始化工作已全部完成。

  • DB Catalog:选择要保存CodeGen数据的数据库
  • Team Name:请输入DAL Admin Team的名称(DAL Admin Team是CodeGen系统的管理员组,拥有最高的权限)
  • Comment:对Team Name的注释
  • Admin No:管理员工号(该帐号为DAL Admin Team的初始管理员)
  • Name:管理员姓名
  • Email:管理员电子邮箱地址
  • Password:管理员密码,用于登录CodeGen系统(后台以MD5加密方式存储) 

此时直接点击保存会保存失败,如下图:


**这是因为这里所填写的信息是要保存到刚刚填写的数据库里面的,必须先在数据库建好项目需要的表。

解决办法:

找到你的tomcat按照目录下面的script.sql 文件,在你的数据库中执行脚本,

我的目录是:H:\tools\code-gen-eclipse\apache-tomcat-7.0.68\webapps\ROOT\WEB-INF\classes\script.sql

执行成功后可以看到以下几个表目录:


表建好以后再继续上一步的操作,点击保存,成功进入登录页面。

这里可以用上一步填写的用户名密码登录,也可以再创建账号后登录。


成功登录后进入主页:


这里大家可以去查看数据库,创建的两个账号已经保存在login_users表中:



接下来的事情就是如何生成自己的代码了,

由于原文已经说得很清楚了,我这里不做介绍,大家可以访问这里:代码生成器使用说明

上图是代码生成完成后的界面,列表里可以看到自己生成的代码,方便管理,完整代码如下:



二,下载生成好的代码,集成到自己的项目中

在上图中,大家可以看到已经生成好的代码结构,只有dao class 跟 entity class,没有dao interface。

接下来就是将代码拷贝到自己的工程里面了。

(1) 需要依赖携程提供的客户端的包,由于是maven工程,大家可以直接添加依赖到pom.xml中

配置如下:

<repositories><!-- 集成携程数据库访问框架客户端 --><repository><id>dal-repo</id><url>https://raw.github.com/ctripcorp/dal/mvn-repo/</url><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots></repository></repositories><dependencies><!-- 携程数据库访问框架 --><dependency><groupId>com.ctrip.platform</groupId><artifactId>dal-client</artifactId><version>1.6.1</version></dependency></dependencies>(2) web.xml 中添加 <!-- dal预热连接池,false不开启 --><context-param><param-name>com.ctrip.platform.dal.dao.DalWarmUp</param-name><param-value>false</param-value></context-param> <!-- dal监听器 --><listener>    <listener-class>com.ctrip.platform.dal.dao.helper.DalClientFactoryListener</listener-class></listener>(3) 将生成的dao 和 entity 拷贝到自己的目录下面

(4) 将配置文件 dal.xml , datasource.xml 拷贝到resource目录下面

(5) demo project :https://github.com/ctripcorp/dal/blob/master/doc/dal-demo.zip

到此就已经完成了,项目依赖jdk1.7,如果使用的jdk1.8可以向下兼容,关于代码的生成大家就可以自己多测试测试了。


需要做网站?需要网络推广?欢迎咨询客户经理 13272073477