update
This commit is contained in:
131
target/mysql/builder_delete.lua
Normal file
131
target/mysql/builder_delete.lua
Normal file
@@ -0,0 +1,131 @@
|
||||
-- mysql_builder_delete.lua
|
||||
local mysql_builder_delete = {}
|
||||
mysql_builder_delete.__index = mysql_builder_delete
|
||||
|
||||
--[[
|
||||
创建一个新的 fw_mysql_builder_delete 对象
|
||||
@return 返回一个新的 fw_mysql_builder_delete 对象
|
||||
]]
|
||||
function mysql_builder_delete.new(__module)
|
||||
local instance = setmetatable({}, mysql_builder_delete)
|
||||
instance.module =__module
|
||||
return instance
|
||||
end
|
||||
|
||||
--[[
|
||||
设置要删除的表名
|
||||
@param table_name 表名
|
||||
@return 返回 mysql_builder_delete 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_delete:table(table_name)
|
||||
self.module:table(table_name)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加 int32 类型的条件
|
||||
@param name 字段名称
|
||||
@param expression 条件表达式
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_delete 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_delete:where_i32(name, expression, value)
|
||||
self.module:where_i32(name, expression, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加 int64 类型的条件
|
||||
@param name 字段名称
|
||||
@param expression 条件表达式
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_delete 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_delete:where_i64(name, expression, value)
|
||||
self.module:where_i64(name, expression, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加 double 类型的条件
|
||||
@param name 字段名称
|
||||
@param expression 条件表达式
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_delete 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_delete:where_dob(name, expression, value)
|
||||
self.module:where_dob(name, expression, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加字符串类型的条件
|
||||
@param name 字段名称
|
||||
@param expression 条件表达式
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_delete 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_delete:where_str(name, expression, value)
|
||||
self.module:where_str(name, expression, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加自定义表达式的条件
|
||||
@param expression 条件表达式
|
||||
@return 返回 mysql_builder_delete 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_delete:where_expression(expression)
|
||||
self.module:where_expression(expression)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置分页参数
|
||||
@param page 页码
|
||||
@param count 每页记录数
|
||||
@return 返回 mysql_builder_delete 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_delete:page(page, count)
|
||||
self.module:page(page, count)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置查询限制
|
||||
@param start 起始位置
|
||||
@param count 记录数
|
||||
@return 返回 mysql_builder_delete 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_delete:limit(start, count)
|
||||
self.module:limit(start, count)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置排序
|
||||
@param field 字段名称
|
||||
@param sort 排序方式(升序或降序)
|
||||
@return 返回 mysql_builder_delete 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_delete:orderby(field, sort)
|
||||
self.module:orderby(field, sort)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
执行删除操作
|
||||
@return 返回受影响的行数
|
||||
]]
|
||||
function mysql_builder_delete:exec()
|
||||
return self.module:exec()
|
||||
end
|
||||
|
||||
--[[
|
||||
清空删除条件
|
||||
]]
|
||||
function mysql_builder_delete:clear()
|
||||
self.module:clear()
|
||||
end
|
||||
|
||||
return mysql_builder_delete
|
||||
106
target/mysql/builder_insert.lua
Normal file
106
target/mysql/builder_insert.lua
Normal file
@@ -0,0 +1,106 @@
|
||||
-- mysql_builder_insert.lua
|
||||
local mysql_builder_insert = {}
|
||||
mysql_builder_insert.__index = mysql_builder_insert
|
||||
|
||||
--[[
|
||||
创建一个新的 fw_mysql_builder_insert 对象
|
||||
@return 返回一个新的 fw_mysql_builder_insert 对象
|
||||
]]
|
||||
function mysql_builder_insert.new(__module)
|
||||
local instance = setmetatable({}, mysql_builder_insert)
|
||||
instance.module = __module
|
||||
return instance
|
||||
end
|
||||
|
||||
--[[
|
||||
设置要插入的表名
|
||||
@param table_name 表名
|
||||
@return 返回 mysql_builder_insert 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_insert:table(table_name)
|
||||
self.module:table(table_name)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 int32 类型的字段
|
||||
@param name 字段名称
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_insert 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_insert:set_i32(name, value)
|
||||
self.module:set_i32(name, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 int64 类型的字段
|
||||
@param name 字段名称
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_insert 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_insert:set_i64(name, value)
|
||||
self.module:set_i64(name, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 double 类型的字段
|
||||
@param name 字段名称
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_insert 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_insert:set_dob(name, value)
|
||||
self.module:set_dob(name, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置字符串类型的字段
|
||||
@param name 字段名称
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_insert 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_insert:set_str(name, value)
|
||||
self.module:set_str(name, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 blob 类型的字段
|
||||
@param name 字段名称
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_insert 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_insert:set_blob(name, value)
|
||||
self.module:set_blob(name, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置不作为预处理语句的字段
|
||||
@param name 字段名称
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_insert 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_insert:set_not_ppst(name, value)
|
||||
self.module:set_not_ppst(name, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
执行插入操作
|
||||
@return 返回受影响的行数
|
||||
]]
|
||||
function mysql_builder_insert:exec()
|
||||
return self.module:exec()
|
||||
end
|
||||
|
||||
--[[
|
||||
清空插入语句
|
||||
]]
|
||||
function mysql_builder_insert:clear()
|
||||
self.module:clear()
|
||||
end
|
||||
|
||||
return mysql_builder_insert
|
||||
161
target/mysql/builder_select.lua
Normal file
161
target/mysql/builder_select.lua
Normal file
@@ -0,0 +1,161 @@
|
||||
local result = require("mysql.result")
|
||||
|
||||
local mysql_builder_select = {}
|
||||
mysql_builder_select.__index = mysql_builder_select
|
||||
|
||||
--[[
|
||||
创建一个新的 fw_mysql_builder_select 对象
|
||||
@return 返回一个新的 fw_mysql_builder_select 对象
|
||||
]]
|
||||
function mysql_builder_select.new(__module)
|
||||
local instance = setmetatable({}, mysql_builder_select)
|
||||
instance.module = __module
|
||||
return instance
|
||||
end
|
||||
|
||||
--[[
|
||||
添加 int32 类型的条件
|
||||
@param name 字段名称
|
||||
@param expression 条件表达式
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_select 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_select:where_i32(name, expression, value)
|
||||
self.module:where_i32(name, expression, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加 int64 类型的条件
|
||||
@param name 字段名称
|
||||
@param expression 条件表达式
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_select 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_select:where_i64(name, expression, value)
|
||||
self.module:where_i64(name, expression, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加 double 类型的条件
|
||||
@param name 字段名称
|
||||
@param expression 条件表达式
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_select 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_select:where_dob(name, expression, value)
|
||||
self.module:where_dob(name, expression, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加字符串类型的条件
|
||||
@param name 字段名称
|
||||
@param expression 条件表达式
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_select 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_select:where_str(name, expression, value)
|
||||
self.module:where_str(name, expression, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加自定义表达式的条件
|
||||
@param expression 条件表达式
|
||||
@return 返回 mysql_builder_select 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_select:where_expression(expression)
|
||||
self.module:where_expression(expression)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加 LIKE 条件
|
||||
@param name 字段名称
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_select 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_select:where_like(name, value)
|
||||
self.module:where_like(name, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置查询的表名
|
||||
@param table_name 表名
|
||||
@return 返回 mysql_builder_select 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_select:table(table_name)
|
||||
self.module:table(table_name)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置查询的字段
|
||||
@param table 字段表
|
||||
@return 返回 mysql_builder_select 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_select:field(table)
|
||||
self.module:field(table)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置分页参数
|
||||
@param page 页码
|
||||
@param count 每页记录数
|
||||
@return 返回 mysql_builder_select 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_select:page(page, count)
|
||||
self.module:page(page, count)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置查询限制
|
||||
@param start 起始位置
|
||||
@param count 记录数
|
||||
@return 返回 mysql_builder_select 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_select:limit(start, count)
|
||||
self.module:limit(start, count)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置排序
|
||||
@param field 字段名称
|
||||
@param sort 排序方式(升序或降序)
|
||||
@return 返回 mysql_builder_select 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_select:orderby(field, sort)
|
||||
self.module:orderby(field, sort)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
清空查询条件
|
||||
]]
|
||||
function mysql_builder_select:clear()
|
||||
self.module:clear()
|
||||
end
|
||||
|
||||
--[[
|
||||
执行查询
|
||||
@return 返回 mysql_result 对象
|
||||
]]
|
||||
function mysql_builder_select:query()
|
||||
return result.new(self.module:query())
|
||||
end
|
||||
|
||||
--[[
|
||||
获取查询结果的记录数
|
||||
@return 返回记录数
|
||||
]]
|
||||
function mysql_builder_select:count()
|
||||
return self.module:count()
|
||||
end
|
||||
|
||||
return mysql_builder_select
|
||||
196
target/mysql/builder_update.lua
Normal file
196
target/mysql/builder_update.lua
Normal file
@@ -0,0 +1,196 @@
|
||||
-- mysql_builder_update.lua
|
||||
local mysql_builder_update = {}
|
||||
mysql_builder_update.__index = mysql_builder_update
|
||||
|
||||
--[[
|
||||
创建一个新的 fw_mysql_builder_update 对象
|
||||
@return 返回一个新的 fw_mysql_builder_update 对象
|
||||
]]
|
||||
function mysql_builder_update.new(__module)
|
||||
local instance = setmetatable({}, mysql_builder_update)
|
||||
instance.module = __module
|
||||
return instance
|
||||
end
|
||||
|
||||
--[[
|
||||
设置要更新的表名
|
||||
@param table_name 表名
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:table(table_name)
|
||||
self.module:table(table_name)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 int32 类型的字段
|
||||
@param name 字段名称
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:set_i32(name, value)
|
||||
self.module:set_i32(name, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 int64 类型的字段
|
||||
@param name 字段名称
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:set_i64(name, value)
|
||||
self.module:set_i64(name, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 double 类型的字段
|
||||
@param name 字段名称
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:set_dob(name, value)
|
||||
self.module:set_dob(name, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置字符串类型的字段
|
||||
@param name 字段名称
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:set_str(name, value)
|
||||
self.module:set_str(name, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 blob 类型的字段
|
||||
@param name 字段名称
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:set_blob(name, value)
|
||||
self.module:set_blob(name, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置自定义表达式的字段
|
||||
@param expression 自定义表达式
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:set(expression)
|
||||
self.module:set(expression)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加 int32 类型的条件
|
||||
@param name 字段名称
|
||||
@param expression 条件表达式
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:where_i32(name, expression, value)
|
||||
self.module:where_i32(name, expression, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加 int64 类型的条件
|
||||
@param name 字段名称
|
||||
@param expression 条件表达式
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:where_i64(name, expression, value)
|
||||
self.module:where_i64(name, expression, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加 double 类型的条件
|
||||
@param name 字段名称
|
||||
@param expression 条件表达式
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:where_dob(name, expression, value)
|
||||
self.module:where_dob(name, expression, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加字符串类型的条件
|
||||
@param name 字段名称
|
||||
@param expression 条件表达式
|
||||
@param value 值
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:where_str(name, expression, value)
|
||||
self.module:where_str(name, expression, value)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
添加自定义表达式的条件
|
||||
@param expression 条件表达式
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:where_expression(expression)
|
||||
self.module:where_expression(expression)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置分页参数
|
||||
@param page 页码
|
||||
@param count 每页记录数
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:page(page, count)
|
||||
self.module:page(page, count)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置查询限制
|
||||
@param start 起始位置
|
||||
@param count 记录数
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:limit(start, count)
|
||||
self.module:limit(start, count)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
设置排序
|
||||
@param field 字段名称
|
||||
@param sort 排序方式(升序或降序)
|
||||
@return 返回 mysql_builder_update 对象自身,以便链式调用
|
||||
]]
|
||||
function mysql_builder_update:orderby(field, sort)
|
||||
self.module:orderby(field, sort)
|
||||
return self
|
||||
end
|
||||
|
||||
--[[
|
||||
执行更新操作
|
||||
@return 返回受影响的行数
|
||||
]]
|
||||
function mysql_builder_update:exec()
|
||||
return self.module:exec()
|
||||
end
|
||||
|
||||
--[[
|
||||
清空查询条件
|
||||
]]
|
||||
function mysql_builder_update:clear()
|
||||
self.module:clear()
|
||||
end
|
||||
|
||||
return mysql_builder_update
|
||||
133
target/mysql/conn.lua
Normal file
133
target/mysql/conn.lua
Normal file
@@ -0,0 +1,133 @@
|
||||
local select = require("mysql.builder_select")
|
||||
local update = require("mysql.builder_update")
|
||||
local insert = require("mysql.builder_insert")
|
||||
local delete = require("mysql.builder_delete")
|
||||
local ppst = require("mysql.prepare_statement")
|
||||
|
||||
|
||||
local mysql_conn = {}
|
||||
mysql_conn.__index = mysql_conn
|
||||
|
||||
--[[
|
||||
创建一个新的 fw_mysql_conn 对象
|
||||
@return 返回一个新的 fw_mysql_conn 对象
|
||||
]]
|
||||
function mysql_conn.new(__module)
|
||||
local instance = setmetatable({}, mysql_conn)
|
||||
if __module == nil then
|
||||
instance.module = fw_mysql_conn.new()
|
||||
else
|
||||
instance.module = __module
|
||||
end
|
||||
|
||||
return instance
|
||||
end
|
||||
--[[
|
||||
连接到 MySQL 数据库
|
||||
@param ipaddress IP 地址
|
||||
@param username 用户名
|
||||
@param password 密码
|
||||
@param database 数据库名称
|
||||
@param charset 字符集
|
||||
@param port 端口号
|
||||
@return 返回连接状态码
|
||||
]]
|
||||
function mysql_conn:connect(ipaddress, username, password, database, charset, port)
|
||||
return self.module:connect(ipaddress, username, password, database, charset, port)
|
||||
end
|
||||
|
||||
--[[
|
||||
清空连接
|
||||
]]
|
||||
function mysql_conn:clear()
|
||||
self.module:clear()
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 SQL 语句
|
||||
@param sql SQL 语句
|
||||
@return 返回 mysql_prepare_statement 对象
|
||||
]]
|
||||
function mysql_conn:setsql(sql)
|
||||
return ppst.new(self.module:setsql(sql))
|
||||
end
|
||||
|
||||
--[[
|
||||
获取上一次插入操作的 ID
|
||||
@return 返回上一次插入操作的 ID
|
||||
]]
|
||||
function mysql_conn:insert_id()
|
||||
return self.module:insert_id()
|
||||
end
|
||||
|
||||
--[[
|
||||
开始事务
|
||||
@param autocommit 是否自动提交
|
||||
]]
|
||||
function mysql_conn:begin(autocommit)
|
||||
self.module:begin(autocommit or false)
|
||||
end
|
||||
|
||||
--[[
|
||||
提交事务
|
||||
]]
|
||||
function mysql_conn:commit()
|
||||
self.module:commit()
|
||||
end
|
||||
|
||||
--[[
|
||||
回滚事务
|
||||
]]
|
||||
function mysql_conn:rollback()
|
||||
self.module:rollback()
|
||||
end
|
||||
|
||||
--[[
|
||||
设置数据库名称
|
||||
@param name 数据库名称
|
||||
]]
|
||||
function mysql_conn:setDatabase(name)
|
||||
self.module:setDatabase(name)
|
||||
end
|
||||
|
||||
--[[
|
||||
获取最后的错误信息
|
||||
@return 返回错误信息字符串
|
||||
]]
|
||||
function mysql_conn:last_error()
|
||||
return self.module:last_error()
|
||||
end
|
||||
|
||||
--[[
|
||||
获取一个 select 对象
|
||||
@return 返回一个 select 对象
|
||||
]]
|
||||
function mysql_conn:select()
|
||||
return select.new(self.module:select())
|
||||
end
|
||||
|
||||
--[[
|
||||
获取一个 insert 对象
|
||||
@return 返回一个 insert 对象
|
||||
]]
|
||||
function mysql_conn:insert()
|
||||
return insert.new(self.module:insert())
|
||||
end
|
||||
|
||||
--[[
|
||||
获取一个 update 对象
|
||||
@return 返回一个 update 对象
|
||||
]]
|
||||
function mysql_conn:update()
|
||||
return update.new(self.module:update())
|
||||
end
|
||||
|
||||
--[[
|
||||
获取一个 delete 对象
|
||||
@return 返回一个 delete 对象
|
||||
]]
|
||||
function mysql_conn:delete()
|
||||
return delete.new(self.module:delete())
|
||||
end
|
||||
|
||||
return mysql_conn
|
||||
93
target/mysql/pool.lua
Normal file
93
target/mysql/pool.lua
Normal file
@@ -0,0 +1,93 @@
|
||||
local select = require("mysql.builder_select")
|
||||
local update = require("mysql.builder_update")
|
||||
local insert = require("mysql.builder_insert")
|
||||
local delete = require("mysql.builder_delete")
|
||||
local conn = require("mysql.conn")
|
||||
|
||||
|
||||
|
||||
local mysql_pool = {}
|
||||
mysql_pool.__index = mysql_pool
|
||||
|
||||
--[[
|
||||
创建一个新的 fw_mysql_pool 对象
|
||||
@return 返回一个新的 fw_mysql_pool 对象
|
||||
]]
|
||||
function mysql_pool.new(pool)
|
||||
local instance = setmetatable({}, mysql_pool)
|
||||
if pool == nil then
|
||||
instance.module = fw_mysql_pool.new()
|
||||
else
|
||||
instance.module = pool
|
||||
end
|
||||
return instance
|
||||
end
|
||||
|
||||
--[[
|
||||
启动 MySQL 连接池
|
||||
@param ipaddress IP 地址
|
||||
@param username 用户名
|
||||
@param password 密码
|
||||
@param database 数据库名称
|
||||
@param charset 字符集
|
||||
@param port 端口号
|
||||
@param size 连接池大小
|
||||
@return 是否成功启动
|
||||
]]
|
||||
function mysql_pool:start(ipaddress, username, password, database, charset, port, size)
|
||||
return self.module:start(ipaddress, username, password, database, charset, port, size)
|
||||
end
|
||||
|
||||
--[[
|
||||
关闭 MySQL 连接池
|
||||
]]
|
||||
function mysql_pool:close()
|
||||
self.module:close()
|
||||
end
|
||||
|
||||
--[[
|
||||
获取一个 select 对象
|
||||
@return 返回一个 select 对象
|
||||
]]
|
||||
function mysql_pool:select()
|
||||
return select.new(self.module:select())
|
||||
--return self.module:select()
|
||||
end
|
||||
|
||||
--[[
|
||||
获取一个 insert 对象
|
||||
@return 返回一个 insert 对象
|
||||
]]
|
||||
function mysql_pool:insert()
|
||||
return insert.new(self.module:insert())
|
||||
end
|
||||
|
||||
--[[
|
||||
获取一个 update 对象
|
||||
@return 返回一个 update 对象
|
||||
]]
|
||||
function mysql_pool:update()
|
||||
return update.new(self.module:update())
|
||||
end
|
||||
|
||||
--[[
|
||||
获取一个 delete 对象
|
||||
@return 返回一个 delete 对象
|
||||
]]
|
||||
function mysql_pool:delete()
|
||||
return delete(self.module:delete())
|
||||
end
|
||||
|
||||
--[[
|
||||
获取一个 mysql_conn 对象
|
||||
@return 返回一个 mysql_conn 对象
|
||||
]]
|
||||
function mysql_pool:get()
|
||||
return conn.new(self.module:get())
|
||||
end
|
||||
|
||||
function mysql_pool:self()
|
||||
return self.module:self()
|
||||
end
|
||||
|
||||
return mysql_pool
|
||||
119
target/mysql/prepare_statement.lua
Normal file
119
target/mysql/prepare_statement.lua
Normal file
@@ -0,0 +1,119 @@
|
||||
local result = require("mysql.result")
|
||||
|
||||
local mysql_prepare_statement = {}
|
||||
mysql_prepare_statement.__index = mysql_prepare_statement
|
||||
|
||||
--[[
|
||||
创建一个新的 fw_mysql_prepare_statement 对象
|
||||
@return 返回一个新的 fw_mysql_prepare_statement 对象
|
||||
]]
|
||||
function mysql_prepare_statement.new(__module)
|
||||
local instance = setmetatable({}, mysql_prepare_statement)
|
||||
instance.module =__module
|
||||
return instance
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 bigint 类型的参数
|
||||
@param index 参数索引
|
||||
@param value 参数值
|
||||
]]
|
||||
function mysql_prepare_statement:set_bigint(index, value)
|
||||
self.module:set_bigint(index, value)
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 boolean 类型的参数
|
||||
@param index 参数索引
|
||||
@param value 参数值
|
||||
]]
|
||||
function mysql_prepare_statement:set_boolean(index, value)
|
||||
self.module:set_boolean(index, value)
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 datetime 类型的参数
|
||||
@param index 参数索引
|
||||
@param value 参数值
|
||||
]]
|
||||
function mysql_prepare_statement:set_datetime(index, value)
|
||||
self.module:set_datetime(index, value)
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 double 类型的参数
|
||||
@param index 参数索引
|
||||
@param value 参数值
|
||||
]]
|
||||
function mysql_prepare_statement:set_dob(index, value)
|
||||
self.module:set_dob(index, value)
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 int32 类型的参数
|
||||
@param index 参数索引
|
||||
@param value 参数值
|
||||
]]
|
||||
function mysql_prepare_statement:set_i32(index, value)
|
||||
self.module:set_i32(index, value)
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 int64 类型的参数
|
||||
@param index 参数索引
|
||||
@param value 参数值
|
||||
]]
|
||||
function mysql_prepare_statement:set_i64(index, value)
|
||||
self.module:set_i64(index, value)
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 null 类型的参数
|
||||
@param index 参数索引
|
||||
]]
|
||||
function mysql_prepare_statement:set_null(index)
|
||||
self.module:set_null(index)
|
||||
end
|
||||
|
||||
--[[
|
||||
设置字符串类型的参数
|
||||
@param index 参数索引
|
||||
@param value 参数值
|
||||
]]
|
||||
function mysql_prepare_statement:set_str(index, value)
|
||||
self.module:set_str(index, value)
|
||||
end
|
||||
|
||||
--[[
|
||||
设置 blob 类型的参数
|
||||
@param index 参数索引
|
||||
@param value 参数值
|
||||
]]
|
||||
function mysql_prepare_statement:set_blob(index, value)
|
||||
self.module:set_blob(index, value)
|
||||
end
|
||||
|
||||
--[[
|
||||
清空所有参数
|
||||
]]
|
||||
function mysql_prepare_statement:clear()
|
||||
self.module:clear()
|
||||
end
|
||||
|
||||
--[[
|
||||
执行 update 操作
|
||||
@return 返回受影响的行数
|
||||
]]
|
||||
function mysql_prepare_statement:update()
|
||||
return self.module:update()
|
||||
end
|
||||
|
||||
--[[
|
||||
执行 query 操作
|
||||
@return 返回 mysql_result 对象
|
||||
]]
|
||||
function mysql_prepare_statement:query()
|
||||
return result.new(self.module:query())
|
||||
end
|
||||
|
||||
return mysql_prepare_statement
|
||||
74
target/mysql/result.lua
Normal file
74
target/mysql/result.lua
Normal file
@@ -0,0 +1,74 @@
|
||||
-- mysql_result.lua
|
||||
local mysql_result = {}
|
||||
mysql_result.__index = mysql_result
|
||||
|
||||
--[[
|
||||
创建一个新的 fw_mysql_result 对象
|
||||
@return 返回一个新的 fw_mysql_result 对象
|
||||
]]
|
||||
function mysql_result.new(__module)
|
||||
local instance = setmetatable({}, mysql_result)
|
||||
instance.module = __module
|
||||
return instance
|
||||
end
|
||||
|
||||
--[[
|
||||
获取字段数
|
||||
@return 返回字段数
|
||||
]]
|
||||
function mysql_result:field_count()
|
||||
return self.module:field_count()
|
||||
end
|
||||
|
||||
--[[
|
||||
获取字段类型
|
||||
@param obj 字段对象
|
||||
@return 返回字段类型字符串
|
||||
]]
|
||||
function mysql_result:field_type(obj)
|
||||
return self.module:field_type(obj)
|
||||
end
|
||||
|
||||
--[[
|
||||
获取字段名称
|
||||
@param index 字段索引
|
||||
@return 返回字段名称字符串
|
||||
]]
|
||||
function mysql_result:field_name(index)
|
||||
return self.module:field_name(index)
|
||||
end
|
||||
|
||||
--[[
|
||||
获取结果行数
|
||||
@return 返回结果行数
|
||||
]]
|
||||
function mysql_result:row_count()
|
||||
return self.module:row_count()
|
||||
end
|
||||
|
||||
--[[
|
||||
移动到下一行
|
||||
@return 是否成功移动到下一行
|
||||
]]
|
||||
function mysql_result:next()
|
||||
return self.module:next()
|
||||
end
|
||||
|
||||
--[[
|
||||
获取数据
|
||||
@param obj 数据对象
|
||||
@return 返回数据对象
|
||||
]]
|
||||
function mysql_result:get(obj)
|
||||
return self.module:get(obj)
|
||||
end
|
||||
|
||||
--[[
|
||||
获取结果集到表
|
||||
@return 返回结果集表
|
||||
]]
|
||||
function mysql_result:table()
|
||||
return self.module:table()
|
||||
end
|
||||
|
||||
return mysql_result
|
||||
Reference in New Issue
Block a user