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

本文介绍携程Dal数据库访问框架的安装及使用方法,包括代码生成器的配置与代码集成步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

原文链接地址可以点这里: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.youkuaiyun.com/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可以向下兼容,关于代码的生成大家就可以自己多测试测试了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值