對比emysql和mysql-otp之后沛慢,個人選擇了mysql-otp作為mysql連接驅(qū)動,并使用raber加載mysql-otp盒音。
1表鳍、 創(chuàng)建bertie文件,使用rebar創(chuàng)建應(yīng)用:
mkdir bertie && cd bertie
rebar create-app appid=bertie
2祥诽、創(chuàng)建rebar配置文件:
sudo vim rebar.config
配置內(nèi)容如下:
{deps, [
{mysql, ".*", {git, "https://github.com/mysql-otp/mysql-otp",
{tag, "1.5.0"}}}
]}.
3譬圣、下載配置文件中的庫:
rebar get-deps
4、編譯項(xiàng)目
rebar compile
5雄坪、移動deps文件下的mysql文件到/usr/lib/erlang/lib/目錄下
linux環(huán)境下:
sudo mv deps/mysql/ /usr/lib/erlang/lib/
---
Mac os環(huán)境下:
sudo mv deps/mysql/ /usr/local/lib/erlang/lib/
6厘熟、編寫連接數(shù)據(jù)庫的測試程序
sudo vim src/bertie.erl
測試連接程序:
-module(bertie).
-export([run/0]).
run()->
%% Connect (ssl is optional)
io:format("..........~n"),
{ok, Pid} = mysql:start_link([{host, "localhost"}, {user, "root"},
{password, "root"}, {database, "IoT"}]),
{ok,Ins} = mysql:prepare(Pid,<<"INSERT INTO user (user_name,user_passwd) VALUES (?,?)">>),
ok = mysql:execute(Pid,Ins,[<<"admin">>,<<"admin">>]),
{ok, ColumnNames, Rows} =
mysql:query(Pid, <<"SELECT * FROM user where user_id = ?">>,[1]),
io:format("Rows: = ~n~p~n",[Rows]).
~ ~
附加:不用執(zhí)行rebar compile也可以,這里目的是下載mysql驅(qū)動维哈。