OTL 的数据库操作效率蛮高的,尤其适合 C++开发者搞跨数据库应用。不需要装一堆依赖,一个头文件就能搞定整个库的集成,配置起来也挺轻松。它支持的数据库类型全,从Oracle、MySQL到SQLite、DB2,基本你能想到的都能覆盖。
OTL 的核心类其实就两个:otl_connect
和otl_stream
。一个管连接,一个管操作,思路挺清晰的。尤其是otl_stream
的用法,和 C++流操作差不多,写 SQL 像写文件一样自然,响应也快,调试也方便。
用 OTL 的时候最关键的是在代码开头定义好连接方式,比如#define OTL_ODBC
这种,告诉它你要走 ODBC 还是 Oracle 的接口。小心别漏了,不然直接连不上数据库,光报错你都看懵。
比如要插入数据,你可以这么搞:
otl_connect db;
db.rlogon("dsn_name/user/password");
otl_stream o(1, "insert into users(name, age) values(:name)", db);
o << "Tom" << 28>
官网上资源比较全,有源码、例子、FAQ,想折腾的可以直接上:OTL 官网。另外,这几个资料也蛮不错:
如果你平时搞数据库驱动封装或者写跨平台应用,OTL 真的挺省事,建议你试试看,尤其适合不想折腾连接细节的开发者。