Bez popisu

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

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()