自定义查询
ExceSql()
如果上面的ORM链式操作均满足不了你,那可以直接写sql语句查询,ExceSql()会返回sqlx连接对象,通过sqlx的方法去操作数据库
- @param
tg.Source{}
数据源,参数选填,不传默认会读取config/config.yaml
里的数据库配置 - -------@param
Link
数据库连接字符串 - -------@param
Debug
是否打印最终执行的SQL语句,默认不打印 - -------@param
CreateTime
创建时间字段名,默认 create_time - -------@param
UpdateTime
更新时间字段名,默认 update_time - -------@param
DeleteTime
删除时间字段名,默认 delete_time - -------@param
MaxOpen
最大打开连接数 - -------@param
MaxIdle
最大空闲连接数 - -------@param
MaxIdleTime
连接在空闲状态下的最大存活时间 - -------@param
MaxLifeTime
连接的最大生命周期,从创建到被关闭的总时间
ExceSql()
var user []User
db := ExceSql()
err := db.Select(&user, "SELECT * FROM user WHERE id = ?", 1)
var user []User
db := ExceSql()
err := db.Select(&user, "SELECT * FROM user WHERE id = ?", 1)
最终的SQL语句为:
SELECT * FROM user WHERE id = 1
SELECT * FROM user WHERE id = 1
注意
使用sqlx进行数据库操作,传入的映射结构体对象一定要和数据库字段对应,如果有些字段不需要映射,请用Unsafe(),具体请看 sqlx文档