美文网首页
erlang连接Mysql数据库(mysql-otp)

erlang连接Mysql数据库(mysql-otp)

作者: 高巨龙 | 来源:发表于2019-04-18 09:20 被阅读0次

    对比emysql和mysql-otp之后,个人选择了mysql-otp作为mysql连接驱动,并使用raber加载mysql-otp。

    1、 创建bertie文件,使用rebar创建应用:

    mkdir bertie  && cd bertie
    rebar create-app appid=bertie
    

    2、创建rebar配置文件:

     sudo vim rebar.config
    

    配置内容如下:

    {deps, [
        {mysql, ".*", {git, "https://github.com/mysql-otp/mysql-otp",
                       {tag, "1.5.0"}}}
    ]}.
    

    3、下载配置文件中的库:

    rebar get-deps
    

    4、编译项目

    rebar compile
    

    5、移动deps文件下的mysql文件到/usr/lib/erlang/lib/目录下

    linux环境下:
    sudo mv  deps/mysql/ /usr/lib/erlang/lib/
    ---
    Mac os环境下:
    sudo mv deps/mysql/ /usr/local/lib/erlang/lib/
    

    6、编写连接数据库的测试程序

    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]).
    ~                                                                                                                       ~                                                 
    

    附加:不用执行rebar compile也可以,这里目的是下载mysql驱动。

    相关文章

      网友评论

          本文标题:erlang连接Mysql数据库(mysql-otp)

          本文链接:https://www.haomeiwen.com/subject/cxznwqtx.html