[dlang](一)利用dub搭建vibe.d,hibernated,mysql开发环境
来源:互联网 发布:淘宝上买沙发 编辑:程序博客网 时间:2024/05/17 02:19
最近刚开始学习d的开发,D是一门系统开发语言,每一个程序员都应该学会一门系统开发语言。我之所以选择D,是因为我主要做服务器开发,应用开发,D有很高的开发效率。同时,服务器会要求有较高的执行效率,而D的另外一个优势就是编译后的二进制文件直接兼容C C++,所以调用C C++的开销基本可以忽略不计。最后一个很有吸引力的优势是:利用D,你可以选择使用GC,也可以绕过GC自己进行内存分配,也可以让一部分大对象不使用GC,而另外一部分生命周期较短的常用对象使用GC(如字符串),这样可以兼顾开发效率以及降低GC开销。
这里介绍的vibe.d是一个web开发框架,同时也是一个异步socket开发框架,同时你也不用像nodejs一样写无尽的回调,而是像写顺序程序一样来写异步处理。hibernated是D语言的一个ORM实现,和java里的hibernate有很大的相似之处,很容易上手。
所以,D博采众家所长,成为我理想中的开发语言,虽然D不流行,库也不是十分成熟(dub有个库管理,里面有百十个库,常用的基本都在),但是这些都瑕不掩瑜,我最想要的东西已经在这里了,剩下的就是完善一套开发环境。如果你和我一样是java程序员,也在寻找一门可以替代java的新语言,尝试一下D吧,应该不会让你失望。
创建工程testprj,
dub init testprj vibe.d
修改dub.json如下,这个配置是踩了许多坑之后能正常运行的一个配置:
{
"name": "testprj",
"description": "A simple vibe.d server application.",
"copyright": "Copyright © 2015, zhmt",
"authors": ["zhmt"],
"dependencies": {
"vibe-d": "~master",
"mysql-native": "0.1.0",
"hibernated": "0.2.19",
"ddbc": ">=0.2.16"
},
"subConfigurations": {
"hibernated": "MySQL",
"ddbc": "MySQL"
},
"versions": ["VibeDefaultMain","USE_MYSQL"]
}
修改dub.json如下,这个配置是踩了许多坑之后能正常运行的一个配置:
{
"name": "testprj",
"description": "A simple vibe.d server application.",
"copyright": "Copyright © 2015, zhmt",
"authors": ["zhmt"],
"dependencies": {
"vibe-d": "~master",
"mysql-native": "0.1.0",
"hibernated": "0.2.19",
"ddbc": ">=0.2.16"
},
"subConfigurations": {
"hibernated": "MySQL",
"ddbc": "MySQL"
},
"versions": ["VibeDefaultMain","USE_MYSQL"]
}
修改app.d如下:
import vibe.d;
import std.stdio;
//import serviceheader_types;
import hibernated.core;
import ddbc.core;
import ddbc.common;
class Customer
{
@Id string user;
string pwd;
string phone;
string mail;
this()
{
// Constructor code
}
}
shared static this()
{
import ddbc.drivers.mysqlddbc;
MySQLDriver driver = new MySQLDriver();
string url = MySQLDriver.generateUrl("10.211.55.10", 3306, "test");
string[string] params = MySQLDriver.setUserAndPassword("root", "你的密码");
DataSource ds = new ConnectionPoolDataSourceImpl(driver, url, params);
EntityMetaData schema = new SchemaInfoImpl!(Customer);
Dialect dialect = new MySQLDialect();
SessionFactory factory = new SessionFactoryImpl(schema, dialect, ds);
scope(exit) factory.close();
}
用dub编译运行testprj即可。
0 0
- [dlang](一)利用dub搭建vibe.d,hibernated,mysql开发环境
- [dlang](二)用vibe.d+thrift做网络编程
- [dlang]d语言开发环境安装:centos 7 下安装 mono-d
- 一、开发环境搭建
- 1 搭建Web 3D开发环境
- D语言开发环境搭建-opensuse
- eclipise Android 开发d环境搭建
- (一)Java开发环境搭建
- Android 一 开发环境搭建
- android一:开发环境搭建
- 一。搭建嵌入式开发环境
- 一、开发环境的搭建
- OpenWRT(一)开发环境搭建
- Tiny4412 开发环境搭建(一)
- (一)Fiori 开发环境搭建
- 一、nuttx开发环境搭建
- Hi3519V101开发环境搭建(一)
- 一、JSP开发环境搭建
- activity配置属性:launchMode、taskAffinity
- KMP
- qq登陆界面模拟
- Mac下安装终端工具,可使用终端下载软件
- 【零起步开发Cocos2dx-3.x-王牌飞行员(三)】素材文件的制作
- [dlang](一)利用dub搭建vibe.d,hibernated,mysql开发环境
- 执行力很重要
- 网络爬虫基本原理(一)
- poj 3468 A Simple Problem with Integers splay
- struts学习笔记
- Spring(四)基于注解配置IOC容器&基于注解实现声明式事务
- struts验证Validation框架
- 为什么开始写博客?
- lucene+ikanalyzer实现中文同义词搜索