golang生成dao代码

Python018

golang生成dao代码,第1张

golang服务端项⽬代码⾃动⽣成

公司为了提⾼开发效率,让我搞⼀个代码⾃动⽣成的⼯具,最好是根据数据库可以⽣成全套的(从router到dao)那种,于是我上万能的github上找了⼀个,找到⼀款autocreate 的代码⽣成⼯具,本⾝也是使⽤go开发的,我看了⼀下,效果还不错,并且操作⽅便简洁,⽽且还有web界⾯,clone下来之后,为了让⽣成的代码风格跟我们的项⽬保持⼀致,所以我不得不动源码,原本以为很难,但是百度了⼀下原理就是根据模板渲染。

这些就是项⽬中的模板,包括从model-router-controller-service-dao,当然这些是已经根据公司项⽬修改过的模板,开始只有⼀个controller跟dao以及model,其余的根据⾃⼰需求加就可以了,因为我想要极致的偷懒,所以直接⽣成了全套的。

第 1 页

操作这些模板的就是这个⽂件

⽂件⾥的核⼼代码,当然这也是修改过的

第 2 页

据我使⽤后得知,⾥⾯所谓的三个关键的名字只有table和module有⽤,另⼀个随便填就可以了。

修改之后,在将⽂件的⽣成⽬录修改为你项⽬的⽬录就可以了。控制⽣成⽂件⽬录的是*ContertFile⾥⾯的file变量。

全部修改后,我们就可以go run main.go运⾏起来,进⼊localhost:8081,就可以看到如下界⾯

选择其中⼀个表,就可以进⾏代码⾃动⽣成了!记住,表⼀定要有备注!表⼀定要有备注!表⼀定要有备注!不然是⽣成不了代码的。

第 3 页

这是⽣成的controller中的⼀个例⼦

⽣成之后,service中是没有逻辑的,只需要根据⾃⼰的需求增增改改就好啦,将原来的开发时间缩短了⼀半以上!再也不⽤做那些枯燥的事情!开发从建表-复制粘贴*n-增增改改-⾃测变成了建表-点⼀下-增增改改-⾃测

现在公司所有服务端的⼩伙伴都开始⽤了,我作为⼀个实习⽣,能做好这件事,其实⼼⾥的成就感也是很⼤的haha

1.最简单的方法:

public static String reverse1(String str)

{ return new StringBuffer(str).reverse().toString()

}

2.最常用的方法:

public static String reverse3(String s)

{char[] array = s.toCharArray()

String reverse = "" //注意这是空串,不是null

for (int i = array.length - 1i >= 0i--)

reverse += array[i]

return reverse

}

3.常用方法的变形:

public static String reverse2(String s)

{ int length = s.length()

String reverse = "" //注意这是空串,不是null

for (int i = 0i <lengthi++)

reverse = s.charAt(i) + reverse//在字符串前面连接, 而非常见的后面

return reverse

}

brew install go

输入 brew info go 或者 go env 即可查看当前安装的golang版本信息

注意:千万不要把GOPATH设置成go的安装路径,可以自己在用户目录下创建一个目录,例如mygo

一般安装好go之后,使用go env查看一下当前环境。此时显示出来的GOROOT就是你使用brew安装go的安装目录,这个路径要记下来。接下来要在bash_profile文件中进行配置。

使用vim ~/.bash_profile

然后在这个文件中进行编辑,下面以我的电脑为例,路径这种要根据不同人的情况而定

GOROOT=/usr/local/Cellar/go/1.10.1/libexec (改成自己的go安装目录 go env命令可查看)

export GOROOT (不用动)

export GOPATH=/Users/jiangqiaowei/mygo (创建一个自己的文件夹 管理go相关内容)

export GOBIN=$GOPATH/bin (不用改)

export PATH=$PATH:$GOBIN:$GOROOT/bin (不用改)

$ go get golang.org/x/mobile/cmd/gomobile (需要墙)

gomobile init

$ go get -d golang.org/x/mobile/example/bind/...

$ cd $GOPATH/src/golang.org/x/mobile/example/bind

$ gomobile bind -target=ios golang.org/x/mobile/example/bind/hello

此命令在ios/路径下生成bind.xcodeprojxcode项目以及 在bind/目录下生成一个 hello.framework

拖入项目即可使用