English | 中文
sqlgen is a tool to generate bun, gorm, sql, sqlx and xorm sql code from SQL file which is inspired by
go install github.com/anqiansong/sqlgen@latestSee example
You can define a function via fn keyword in line comment, for example:
-- fn: my_func
SELECT *
FROM user;it will be generated as:
func (m *UserModel) my_func (...) {
...
}The expression limit 1 must be explicitly defined if you want to get only one record, for example:
-- fn: FindOne
select *
from user
where id = ? limit 1;For arguments of SQL, you can use ? or explicitly values to mark them, in sqlgen, the arguments
will be converted into variables, for example, the following query are equivalent:
NOTES: It does not apply to rule 2
-- fn: FindLimit
select *
from user
where id = ?;
-- fn: FindLimit
select *
from user
where id = 1;
sqlgen supports aggregate function queries in sql, other than that, other functions are not supported so far. All the aggregate function query expressions must contain AS expression, for example:
-- fn: CountAll
select count(*) as count
from user;For most query cases, you can see example.sql for details.
- Create a SQL file
- Write your SQL code in the SQL file
- Run
sqlgento generate code
- Only support MYSQL code generation.
- Do not support multiple tables in one SQL file.
- Do not support join query.