No Description

xormplus a6a3da0cc2 Merge branch 'master' of https://github.com/xormplus/xorm 10 years ago
test 72b4bdf062 格式化 10 years ago
.gitignore 52a602da39 Initial commit 10 years ago
LICENSE 52a602da39 Initial commit 10 years ago
README.md 18fb8caf90 Update README.md 10 years ago
cover.out c93a5bbd96 初始化 10 years ago
engine.go c93a5bbd96 初始化 10 years ago
engineplus.go c93a5bbd96 初始化 10 years ago
error.go c93a5bbd96 初始化 10 years ago
goracle_driver.go c93a5bbd96 初始化 10 years ago
helpers.go c93a5bbd96 初始化 10 years ago
helpersplus.go c93a5bbd96 初始化 10 years ago
logger.go c93a5bbd96 初始化 10 years ago
lru_cacher.go c93a5bbd96 初始化 10 years ago
memroy_store.go c93a5bbd96 初始化 10 years ago
mssql_dialect.go c93a5bbd96 初始化 10 years ago
mymysql_driver.go c93a5bbd96 初始化 10 years ago
mysql_dialect.go c93a5bbd96 初始化 10 years ago
mysql_driver.go c93a5bbd96 初始化 10 years ago
oci8_driver.go c93a5bbd96 初始化 10 years ago
odbc_driver.go c93a5bbd96 初始化 10 years ago
oracle_dialect.go c93a5bbd96 初始化 10 years ago
pg_reserved.txt c93a5bbd96 初始化 10 years ago
postgres_dialect.go c93a5bbd96 初始化 10 years ago
pq_driver.go c93a5bbd96 初始化 10 years ago
processors.go c93a5bbd96 初始化 10 years ago
rows.go c93a5bbd96 初始化 10 years ago
session.go c93a5bbd96 初始化 10 years ago
sessionplus.go c93a5bbd96 初始化 10 years ago
sqlite3_dialect.go c93a5bbd96 初始化 10 years ago
sqlite3_driver.go c93a5bbd96 初始化 10 years ago
statement.go c93a5bbd96 初始化 10 years ago
syslogger.go c93a5bbd96 初始化 10 years ago
xorm.go c93a5bbd96 初始化 10 years ago
xormplus.go c93a5bbd96 初始化 10 years ago

README.md

xorm

优化xorm的查询API,并提供类似ibatis的配置文件及动态SQL功能

支持类似这样的链式操作

sql:="select id,title,createdatetime,content from article where id = ?"
rows, err := db.Sql(sql, 2).FindAll().Json()

id := db.Sql(sql, 2).FindAll().Result[0]["id"]
title := db.Sql(sql, 2).FindAll().Result[0]["title"]
createdatetime := db.Sql(sql, 2).FindAll().Result[0]["createdatetime"]
content := db.Sql(sql, 2).FindAll().Result[0]["content"]

也支持SqlMap配置,配置文件样例

<sqlMap>
	<sql id="selectAllArticle">
		select id,title,createdatetime,content 
		from article where id in (?1,?2)
	</sql>
	<sql id="selectStudentById1">
		select * from article where id=?id
	</sql>
</sqlMap>
paramMap := map[string]interface{}{"1": 2, "2": 5}
rows, err := db.SqlMapClient("selectAllArticle", &paramMap).FindAllByParamMap().Xml()

同时提供动态SQL支持,使用pongo2模板引擎


例如配置文件名:select.example.stpl
配置样例内容如下:

select id,userid,title,createdatetime,content 
from article where  
{% if count>1%}
id=?id
{% else%}
userid=?userid
{% endif %}
paramMap := map[string]interface{}{"id": 2, "userid": 3, "count": 1}
rows, err := db.SqlTemplateClient("select.example.stpl", paramMap).FindAllByParamMap().Json()