conn.lua 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. local select = require("mysql.builder_select")
  2. local update = require("mysql.builder_update")
  3. local insert = require("mysql.builder_insert")
  4. local delete = require("mysql.builder_delete")
  5. local ppst = require("mysql.prepare_statement")
  6. local mysql_conn = {}
  7. mysql_conn.__index = mysql_conn
  8. --[[
  9. 创建一个新的 fw_mysql_conn 对象
  10. @return 返回一个新的 fw_mysql_conn 对象
  11. ]]
  12. function mysql_conn.new(__module)
  13. local instance = setmetatable({}, mysql_conn)
  14. if __module == nil then
  15. instance.module = fw_mysql_conn.new()
  16. else
  17. instance.module = __module
  18. end
  19. return instance
  20. end
  21. --[[
  22. 连接到 MySQL 数据库
  23. @param ipaddress IP 地址
  24. @param username 用户名
  25. @param password 密码
  26. @param database 数据库名称
  27. @param charset 字符集
  28. @param port 端口号
  29. @return 返回连接状态码
  30. ]]
  31. function mysql_conn:connect(ipaddress, username, password, database, charset, port)
  32. return self.module:connect(ipaddress, username, password, database, charset, port)
  33. end
  34. --[[
  35. 清空连接
  36. ]]
  37. function mysql_conn:clear()
  38. self.module:clear()
  39. end
  40. --[[
  41. 设置 SQL 语句
  42. @param sql SQL 语句
  43. @return 返回 mysql_prepare_statement 对象
  44. ]]
  45. function mysql_conn:setsql(sql)
  46. return ppst.new(self.module:setsql(sql))
  47. end
  48. --[[
  49. 获取上一次插入操作的 ID
  50. @return 返回上一次插入操作的 ID
  51. ]]
  52. function mysql_conn:insert_id()
  53. return self.module:insert_id()
  54. end
  55. --[[
  56. 开始事务
  57. @param autocommit 是否自动提交
  58. ]]
  59. function mysql_conn:begin(autocommit)
  60. if autocommit == nil then
  61. autocommit = false
  62. end
  63. self.module:begin(autocommit)
  64. end
  65. --[[
  66. 提交事务
  67. ]]
  68. function mysql_conn:commit()
  69. self.module:commit()
  70. end
  71. --[[
  72. 回滚事务
  73. ]]
  74. function mysql_conn:rollback()
  75. self.module:rollback()
  76. end
  77. --[[
  78. 设置数据库名称
  79. @param name 数据库名称
  80. ]]
  81. function mysql_conn:setDatabase(name)
  82. self.module:setDatabase(name)
  83. end
  84. --[[
  85. 获取最后的错误信息
  86. @return 返回错误信息字符串
  87. ]]
  88. function mysql_conn:last_error()
  89. return self.module:last_error()
  90. end
  91. --[[
  92. 获取一个 select 对象
  93. @return 返回一个 select 对象
  94. ]]
  95. function mysql_conn:select()
  96. return select.new(self.module:select())
  97. end
  98. --[[
  99. 获取一个 insert 对象
  100. @return 返回一个 insert 对象
  101. ]]
  102. function mysql_conn:insert()
  103. return insert.new(self.module:insert())
  104. end
  105. --[[
  106. 获取一个 update 对象
  107. @return 返回一个 update 对象
  108. ]]
  109. function mysql_conn:update()
  110. return update.new(self.module:update())
  111. end
  112. --[[
  113. 获取一个 delete 对象
  114. @return 返回一个 delete 对象
  115. ]]
  116. function mysql_conn:delete()
  117. return delete.new(self.module:delete())
  118. end
  119. return mysql_conn