# 手动管理SqlMap配置及SqlTemplate模板
- 以下方法是在没有engine.InitSqlMap()和engine.InitSqlTemplate()初始化相关配置文件的情况下让您在代码中可以轻松的手动管理SqlMap配置及SqlTemplate模板。
- engine.InitSqlMap()和engine.InitSqlTemplate()初始化相关配置文件之后也可以使用以下方法灵活的对SqlMap配置及SqlTemplate模板进行管理
- 方便支持您系统中其他初始化配置源,可不依赖于本库的初始化配置方式
- 可在代码中依据业务场景,动态的添加、更新、删除SqlMap配置及SqlTemplate模板
- 手工管理的SqlMap配置及SqlTemplate模板,与xorm初始化方法一样会将相关配置缓存,但不会生成相关配置文件
* LoadSqlMap(string)
加载指定文件的SqlMap配置
~~~
engine.LoadSqlMap(filepath)
~~~
* ReloadSqlMap(string)
重新加载指定文件的SqlMap配置
~~~
engine.ReloadSqlMap(filepath)
~~~
* BatchLoadSqlMap([]string)
批量加载指定文件的SqlMap配置
~~~
engine.BatchLoadSqlMap([]filepath)
~~~
* BatchReloadSqlMap([]string)
批量重新加载指定文件的SqlMap配置
~~~
engine.BatchReloadSqlMap([]filepath)
~~~
* GetSql(string)
获取一条SqlMap配置
~~~
engine.GetSql(key)
~~~
* AddSql(string, string)
新增一条SqlMap配置
~~~
engine.AddSql(key, sql)
~~~
* UpdateSql(string, string)
更新一条SqlMap配置
~~~
engine.UpdateSql(key, sql)
~~~
* RemoveSql(string)
删除一条SqlMap配置
~~~
engine.RemoveSql(key)
~~~
* BatchAddSql(map[string]string)
批量新增SqlMap配置
~~~
engine.BatchAddSql(map[key]sql)
~~~
* BatchUpdateSql(map[string]string)
批量更新SqlMap配置
~~~
engine.BatchUpdateSql(map[key]sql)
~~~
* BatchRemoveSql([]string)
批量删除SqlMap配置
~~~
engine.BatchRemoveSql([]key)
~~~
* LoadSqlTemplate(string)
加载指定文件的SqlTemplate模板
~~~
engine.SqlTemplate.LoadSqlTemplate(filepath)
~~~
* ReloadSqlTemplate(string)
重新加载指定文件的SqlTemplate模板
~~~
engine.SqlTemplate.ReloadSqlTemplate(filepath)
~~~
* ReloadSqlTemplate([]string)
批量加载指定文件的SqlTemplate模板
~~~
engine.SqlTemplate.BatchLoadSqlTemplate([]filepath)
~~~
* BatchReloadSqlTemplate([]string)
批量重新加载指定文件的SqlTemplate模板
~~~
engine.SqlTemplate.BatchReloadSqlTemplate([]filepath)
~~~
* AddSqlTemplate(string, string)
新增一条SqlTemplate模板,sql为SqlTemplate模板内容字符串
~~~
engine.SqlTemplate.AddSqlTemplate(key, sql)
~~~
* UpdateSqlTemplate(string, string)
更新一条SqlTemplate模板,sql为SqlTemplate模板内容字符串
~~~
engine.SqlTemplate.UpdateSqlTemplate(key, sql)
~~~
* RemoveSqlTemplate(string)
删除一条SqlTemplate模板
~~~
engine.SqlTemplate.RemoveSqlTemplate(key)
~~~
* BatchAddSqlTemplate(map[string]string)
批量新增SqlTemplate配置,sql为SqlTemplate模板内容字符串
~~~
engine.SqlTemplate.BatchAddSqlTemplate(map[key]sql)
~~~
* BatchUpdateSqlTemplate(map[string]string)
批量更新SqlTemplate配置,sql为SqlTemplate模板内容字符串
~~~
engine.SqlTemplate.BatchUpdateSqlTemplate(map[key]sql)
~~~
* BatchRemoveSqlTemplate([]string)
批量删除SqlTemplate配置
~~~
engine.SqlTemplate.BatchRemoveSqlTemplate([]key)
~~~
* GetSqlMap(string...)
* 指定多个key,批量查询SqlMap配置,...key的数据类型为...interface{},返回类型为map[string]string
* 如不传任何参数,调用engine.GetSqlMap(),则返回整个内存中当前缓存的所有SqlMap配置
~~~
/*
支持如下多种调用方式
a)engine.GetSqlMap("Test_GetSqlMap_1"),返回key为Test_GetSqlMap_1的SqlMap配置
b)engine.GetSqlMap("Test_GetSqlMap_1", "Test_GetSqlMap_3"),返回key为Test_GetSqlMap_1,Test_GetSqlMap_3的SqlMap配置
c)engine.GetSqlMap("Test_GetSqlMap_1", "Test_GetSqlMap_3","Test_GetSqlMap_null"),返回key为Test_GetSqlMap_1,Test_GetSqlMap_3的SqlMap,Test_GetSqlMap_null配置,其中Test_GetSqlMap_null在内存中缓存的的key不存在,则在返回的map[string]string中,key Test_GetSqlMap_null配置返回的值为空字符串
d)engine.GetSqlMap([]string{"Test_GetSqlMap_1", "Test_GetSqlMap_3"})支持字符串数组形式参数
e)engine.GetSqlMap([]string{"Test_GetSqlMap_1", "Test_GetSqlMap_3"},"Test_GetSqlMap_2")支持字符串数组形式和字符串参数混用
f)engine.GetSqlMap([]string{"Test_GetSqlMap_1", "Test_GetSqlMap_3"},"Test_GetSqlMap_2",3)支持字符串数组形式,字符串参数和其他类型参数混用,但查询时只会处理字符串类型参数和字符转数组类型参数(因为SqlMap的key是字符串类型),返回的map[string]string也无其他类型的key
*/
engine.GetSqlMap(key...)
~~~
* GetSqlTemplates(string...)
* 指定多个key,批量查询SqlTemplate配置,...key的数据类型为...interface{},返回类型为map[string]*pongo2.Template
* 如不传任何参数,调用engine.GetSqlTemplates(),则返回整个内存中当前缓存的所有SqlTemplate配置
* engine.GetSqlTemplates()返回类型为map[string]*pongo2.Template,可以方便的实现链式调用pongo2的Execute(),ExecuteBytes(),ExecuteWriter()方法
~~~
/*
支持如下多种调用方式
a)engine.GetSqlTemplates("Test_GetSqlTemplates_1"),返回key为Test_GetSqlTemplates_1的SSqlTemplate配置
b)engine.GetSqlTemplates("Test_GetSqlTemplates_1", "Test_GetSqlTemplates_3"),返回key为Test_GetSqlTemplates_1,Test_GetSqlTemplates_3的SqlTemplate配置
c)engine.GetSqlTemplates("Test_GetSqlTemplates_1", "Test_GetSqlTemplates_3","Test_GetSqlTemplates_null"),返回key为Test_GetSqlTemplates_1,Test_GetSqlTemplates_3的SqlMap,Test_GetSqlMap_null配置,其中Test_GetSqlTemplates_null在内存中缓存的的key不存在,则在返回的map[string]*pongo2.Template中,key Test_GetSqlTemplates_null配置返回的值为nil
d)engine.GetSqlTemplates([]string{"Test_GetSqlTemplates_1", "Test_GetSqlTemplates_3"})支持字符串数组形式参数
e)engine.GetSqlTemplates([]string{"Test_GetSqlTemplates_1", "Test_GetSqlTemplates_3"},"Test_GetSqlTemplates_2")支持字符串数组形式和字符串参数混用
f)engine.GetSqlTemplates([]string{"Test_GetSqlTemplates_1", "Test_GetSqlTemplates_3"},"Test_GetSqlTemplates_2",3)支持字符串数组形式,字符串参数和其他类型参数混用,但查询时只会处理字符串类型参数和字符转数组类型参数(因为SqlTemplate的key是字符串类型),返回的map[string]*pongo2.Template也无其他类型的key
*/
engine.SqlTemplate.GetSqlTemplates(...key)
~~~
- xorm
- 创建Orm引擎
- 定义表结构体
- 名称映射规则
- 前缀映射,后缀映射和缓存映射
- 使用Table和Tag改变名称映射
- Column属性定义
- 表结构操作
- 获取数据库信息
- 表操作
- 创建索引和唯一索引
- 同步数据库结构
- 导入导出SQL脚本
- SqlMap及SqlTemplate模板
- 初始化SqlMap配置文件及SqlTemplate模板
- SqlMap及SqlTemplate相关功能API
- SqlMap配置文件及SqlTemplate模板加密存储及解析
- 手动管理SqlMap配置及SqlTemplate模板
- 插入数据
- ORM方式插入数据
- 执行SQL命令插入数据
- 创建时间Created
- 查询和统计数据
- ORM方式查询和统计数据
- 查询条件方法
- 临时开关方法
- Get方法
- Find方法
- Join的使用
- Iterate方法
- Count方法
- Rows方法
- Sum系列方法
- Exist方法
- 子查询
- 执行SQL查询
- 执行SQL查询的11种常用方式
- 查询返回json或xml字符串
- 链式查询据操返回某条记录的某个字段的值
- SqlTemplateClient执行过程
- 关于数据库分页查询
- 更新数据
- ORM方式更新数据
- Update方法
- 乐观锁Version
- 更新时间Updated
- 执行SQL命令更新数据
- 删除数据
- ORM方式删除数据
- Delete方法
- 软删除Deleted
- 执行SQL命令删除数据
- 事务处理
- 简单事务模型
- 嵌套事务模型
- 八种事务类型及事务传播机制
- 简单事务相关API
- 嵌套事务相关API
- 嵌套事务示例代码
- 主从数据库(Master/Slave)读写分离
- 创建引擎组
- 负载策略
- 引擎组其他配置方法
- 数据库读写分离
- 批量混合SQL操作
- SQL Builder
- 缓存
- 事件
- 数据导出
- Dump数据库结构和数据
- 查询结果集导出csv、tsv、xml、json、xlsx、yaml、html
- 多Sheet页数据导出
- 日志
- 连接池
- xorm 工具
- 常见问题
- 感谢支持