d는 mysql을 운영합니다
d에는 형식화된 json 파일을 작성해야 하는 매우 편리한 더빙 도구가 있습니다.
더빙 지침은 http://code.dlang.org/package-에서 확인할 수 있습니다. format?lang=json
내 더빙 형식, dub.json으로 저장됨
{ "name": "testmysql", "description": "test mysql connect.", "authors": ["cabing_2005@126.com"], "homepage": "http://my.oschina.net/u/218155/blog?catalog=3451757", "license": "GPL-2.0", "dependencies": { "vibe-d": "~>0.7.17", "mysql-native" :"~>0.1.3", } }
vibe.d의 연결 풀과 mysqlnative의 데이터베이스 패키지를 사용했기 때문에 둘 다 넣었습니다. 그것에 의존하십시오.
파일 구조 현재 디렉터리에 source라는 새 디렉터리를 만듭니다. source 아래에 새 스크립트 app.d를 만듭니다.
마지막으로 이전 섹션의 코드를 실행합니다. 소스 레벨
특정 코드
import mysql.common; import mysql.connection; import mysql.result; import mysql.db; import std.stdio;ulong testExce(Connection cn,string sql){ auto cmd = Command(cn); cmd.sql = sql; ulong rowsAffected; cmd.execSQL(rowsAffected); return rowsAffected; }ResultSet testRows()(Connection cn, string sql){ auto cmd = Command(cn); cmd.sql = sql; return cmd.execSQLResult(); }void testMysql(){ string connStr = "host=localhost;port=3306;user=root;pwd=123456;db=test"; auto mdb = new MysqlDB(connStr); auto con = mdb.lockConnection(); scope(exit) con.close(); //测试增删改查 //add auto addSql = "insert into country(name,user_age,id)values('helloworld',59,1)"; writeln("add data is ", testExce(con,addSql)); //update auto updateSql = "update country set name = 'helloworld' where id=1 limit 1"; writeln("update data is ", testExce(con,updateSql)); //delte auto delSql = "delete from country where id=1 limit 1"; writeln("delete data is ", testExce(con,delSql)); //select auto selSql = "select name,user_age,id from country"; ResultSet rs = testRows(con,selSql); int i; auto keys = ["name","user_age","id"]; for(i=0;i<rs.length;i++){ foreach(k,v;keys){ writef("%s:%s",v,rs[i][k]); } writeln(""); } writeln(rs[0],rs[0][0],rs[0][1]); }int main(char[][] args) { testMysql(); return 0; }