Skip to content

Commit 3694775

Browse files
committed
增加register参数,自动生成注册mapper代码(默认为false)。
由于gobatis已增加ScanMapperDir方法,可通过此方法注册整个目录的mapper文件,故不再需要依次注册。
1 parent 4d94939 commit 3694775

File tree

4 files changed

+18
-12
lines changed

4 files changed

+18
-12
lines changed

cmd/gobatis-cmd/main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ func main() {
3939
keyword := flag.Bool("keyword", false, "with Keyword escape")
4040
namespace := flag.String("namespace", "", "namespace")
4141
confFile := flag.String("f", "", "config file")
42+
register := flag.Bool("register", false, "add register code")
4243
flag.Parse()
4344

4445
dbDriver := db.GetDriver(*driver)
@@ -65,6 +66,7 @@ func main() {
6566
conf.MapperFile = *mapper
6667
conf.Plugin = *plugin
6768
conf.Keyword = *keyword
69+
conf.Register = *register
6870
conf.TableName = *tableName
6971
conf.DBName = *dbName
7072
conf.Host = *host

configs/gobatis-conf.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"mapperFile": "xml",
99
"plugin": "",
1010
"keyword": false,
11+
"register": false,
1112
"tableName": "",
1213
"dbName": "test_db",
1314
"host": "localhost",

internal/pkg/generator/gen_proxy_v2.go

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,20 @@ func GenV2Proxy(config config.Config, tableName string, models []common.ModelInf
7070
builder.WriteString("gobatis.RegisterModel(&modelV)")
7171
builder.WriteString(common.Newline())
7272

73-
if config.MapperFile == "xml" {
74-
builder.WriteString(common.ColumnSpace())
75-
builder.WriteString(fmt.Sprintf("gobatis.RegisterMapperFile(\"%sxml/%s_mapper.xml\")", config.Path, strings.ToLower(tableName)))
76-
builder.WriteString(common.Newline())
77-
} else if config.MapperFile == "go" {
78-
builder.WriteString(common.ColumnSpace())
79-
builder.WriteString(fmt.Sprintf("gobatis.RegisterMapperData([]byte(%sMapper))", modelName))
80-
builder.WriteString(common.Newline())
81-
} else if config.MapperFile == "template" {
82-
builder.WriteString(common.ColumnSpace())
83-
builder.WriteString(fmt.Sprintf("gobatis.RegisterTemplateFile(\"%stemplate/%s_mapper.tmpl\")", config.Path, strings.ToLower(tableName)))
84-
builder.WriteString(common.Newline())
73+
if config.Register {
74+
if config.MapperFile == "xml" {
75+
builder.WriteString(common.ColumnSpace())
76+
builder.WriteString(fmt.Sprintf("gobatis.RegisterMapperFile(\"%sxml/%s_mapper.xml\")", config.Path, strings.ToLower(tableName)))
77+
builder.WriteString(common.Newline())
78+
} else if config.MapperFile == "go" {
79+
builder.WriteString(common.ColumnSpace())
80+
builder.WriteString(fmt.Sprintf("gobatis.RegisterMapperData([]byte(%sMapper))", modelName))
81+
builder.WriteString(common.Newline())
82+
} else if config.MapperFile == "template" {
83+
builder.WriteString(common.ColumnSpace())
84+
builder.WriteString(fmt.Sprintf("gobatis.RegisterTemplateFile(\"%stemplate/%s_mapper.tmpl\")", config.Path, strings.ToLower(tableName)))
85+
builder.WriteString(common.Newline())
86+
}
8587
}
8688

8789
builder.WriteString("}")

pkg/config/config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ type Config struct {
1515
MapperFile string `json:"mapperFile"`
1616
Plugin string `json:"plugin"`
1717
Keyword bool `json:"keyword"`
18+
Register bool `json:"register"`
1819
}
1920

2021
type FileConfig struct {

0 commit comments

Comments
 (0)