win10mdsn每次开机 dsn都未响应

win10+go+beego搭建用户管理系统
- Go语言中文网 - Golang中文社区
<meta name="author" content="polaris ">
win10&#43;go&#43;beego搭建用户管理系统
steve_frank
· 660 次点击 ·
开始浏览 & &
win10+go+beego搭建用户管理系统
经过两天的从零开始研究学习,go程序的用户crud系统终于搭建成功,很不错吆。
go环境搭建
下载go1.9rc2.windows-amd64.msi,由于golang被墙,只能从其他网上下载。
采用默认安装到C:\Go,打开命令行,输入go version
C:\Users\steve&go version
go version go1.9rc2 windows/amd64
创建C:\GOPATH文件夹,添加环境变量
go开发工具安装配置
下载eclipse-inst-win64.exe(4.6.3)并安装
安装goclipse插件
因为GFC的封闭,我们需要先到下载GoClipse的安装包,并解压。然后打开Eclipse(确保已经包含CDT),Help -& Install New Software…,然后选择Add按钮,输入解压后的Release目录,选择GoClipse,然后一直next就安装成功了。安装完成后需要重启Eclipse。
勾选goclipse,下一步直至完成
打开:Window&Preferences
下载gocode.exe,guru.exe,godef.exe也可以不配置
下载并安装好Git bash工具
打开gitbash,输入 go get github.com/astaxie/beego
。稍等片刻即可在GOPATH的src目录下看到有\github.com\astaxie\beego目录。
在gitbash中输入 go get github.com/beego/bee
。稍等片刻即可在GOPATH的src目录下看到有\github.com\beego\bee目录,同时有很多依赖包被下载添加到\github.com目录下。
cd %GOPATH%/src
bee new hello
bee run hello
在浏览器输入127.0.0.1:8080就看到了运行结果(welcome to beego的欢迎页)
goeclipse开发
打开eclipse,导入hello项目
新建文件,结构如下
appname = hello
httpport = 8080
runmode = dev
db.host = localhost
db.port = 3306
db.user = root
db.pass = 123456
db.name = test
db.timezone = Asia/Shanghai
default.go
package controllers
“github.com/astaxie/beego”
type MainController struct {
beego.Controller
func (c *MainController) Get() {
c.Data[“Website”] = “beego.me”
c.Data[“Email”] = “”
c.TplName = “user/usermanage.html”
func (c *MainController) Rsp(status bool, str string) {
c.Data[“json”] = &map[string]interface{}{“succ”: status, “msg”: str}
c.ServeJSON()
package controllers
m “hello/models”
type UserController struct {
MainController
func (this *UserController) Index() {
user := this.GetSession(“userinfo”)
if user != nil {
this.Data[“userinfo”] = user
this.TplName = “main.html”
this.Redirect(“/”, 302)
func (this *UserController) UserIndex() {
this.TplName = “user/usermanage.html”
func (this *UserController) UserList() {
page, _ := this.GetInt64(“page”)
pageSize, _ := this.GetInt64(“rows”)
u := m.User{}
if this.GetString(“id”) != “” {
u.Id, _ = this.GetInt(“id”)
if this.GetString(“name”) != “” {
u.Name = this.GetString(“name”)
if this.GetString(“phone”) != “” {
u.Phone = this.GetString(“phone”)
nodes, cnt := m.GetUserList(page, pageSize, &u)
fmt.Println(cnt)
this.Data[“json”] = &map[string]interface{}{“total”: cnt, “rows”: &nodes}
this.ServeJSON()
func (this *UserController) UserDel() {
idstr := this.GetString(“ids”)
err := m.DelUser(idstr)
if err != nil {
this.Rsp(false, err.Error())
this.Rsp(true, “删除成功”)
func (this *UserController) UserAdd() {
u := m.User{}
u.Id, _ = this.GetInt(“Id”)
if err := this.ParseForm(&u); err != nil {
this.Rsp(false, err.Error())
id, err := m.AddUser(&u)
if err == nil && id & 0 {
this.Rsp(true, “新增成功”)
this.Rsp(false, err.Error())
func (this *UserController) UserUpdate() {
u := m.User{}
if err := this.ParseForm(&u); err != nil {
this.Rsp(false, err.Error())
id, err := m.UpdateUser(&u)
if err == nil && id & 0 {
this.Rsp(true, “修改成功”)
this.Rsp(false, err.Error())
func (this *UserController) UserUpload() {
f, fh, err := this.GetFile(&#34;uploadFile&#34;)
defer f.Close()
if err != nil {
fmt.Println(&#34;get file error &#34;, err)
this.Data[&#34;json&#34;] = &map[string]interface{}{&#34;path&#34;: &#34;&#34;, &#34;succ&#34;: false}
this.ServeJSON()
fmt.Println(fh.Filename)
this.SaveToFile(&#34;uploadFile&#34;, &#34;static/upload/&#34;+fh.Filename)
this.Data[&#34;json&#34;] = &map[string]interface{}{&#34;path&#34;: &#34;/static/upload/&#34; + fh.Filename, &#34;succ&#34;: true}
this.ServeJSON()
package models
“github.com/astaxie/beego”
“github.com/astaxie/beego/orm”
_ “github.com/go-sql-driver/mysql”
“net/url”
func init() {
dbhost := beego.AppConfig.String(“db.host”)
dbport := beego.AppConfig.String(“db.port”)
dbname := beego.AppConfig.String(“db.name”)
dbuser := beego.AppConfig.String(“db.user”)
dbpass := beego.AppConfig.String(“db.pass”)
timezone := beego.AppConfig.String(“db.timezone”)
if dbport == “” {
dbport = “3306”
dsn := dbuser + “:” + dbpass + “@tcp(” + dbhost + “:” + dbport + “)/” + dbname + “?charset=utf8”
dsn := “root:123456@/test?charset=utf8”
if timezone != “” {
dsn = dsn + “&loc=” + url.QueryEscape(timezone)
fmt.Println(dsn)
orm.RegisterDataBase(“default”, “mysql”, dsn, 5, 30)
if beego.AppConfig.String(“runmode”) == “dev” {
orm.Debug = true
package models
“errors”
“strconv”
“strings”
&#34;github.com/astaxie/beego/orm&#34;
&#34;github.com/astaxie/beego/validation&#34;
type User struct {
string form:&#34;name&#34; valid:&#34;RMaxSize(20);MinSize(6)&#34;
string form:&#34;pass&#34; valid:&#34;RMaxSize(20);MinSize(6)&#34;
string form:&#34;email&#34; valid:&#34;REmail&#34;
string form:&#34;phone&#34; valid:&#34;RMobile&#34;
string form:&#34;image&#34; valid:&#34;MaxSize(50);MinSize(6)&#34;
string form:&#34;addr&#34; valid:&#34;MaxSize(30)&#34; form:&#34;name&#34;
Regtime string
string form:&#34;birth&#34;
string valid:&#34;MaxSize(200)&#34; form:&#34;remark&#34;
func init() {
orm.RegisterModel(new(User))
func (u *User) TableName() string {
return “t_user”
func (this *User) ToString() string {
return fmt.Sprintf(“Id:%d\tName:%s”, this.Id, this.Name)
func checkUser(u *User) (err error) {
valid := validation.Validation{}
b, _ := valid.Valid(&u)
for _, err := range valid.Errors {
log.Println(err.Key, err.Message)
return errors.New(err.Message)
return nil
func GetUserList(page int64, pageSize int64, user *User) (userlist []*User, count int64) {
o := orm.NewOrm()
qs := o.QueryTable(“t_user”)
var offset int64
if page & 1 {
offset = (page - 1) * pageSize
if user.Id != 0 {
qs = qs.Filter(“id__exact”, user.Id)
if user.Phone != “” {
qs = qs.Filter(“phone__contains”, user.Phone)
if user.Name != “” {
qs = qs.Filter(“name__contains”, user.Name)
qs.Limit(pageSize, offset).OrderBy(“-Id”).All(&userlist)
count, _ = qs.Count()
return userlist, count
func DelUser(idstr string) error {
ids := strings.Split(idstr, “,”)
num, err := orm.NewOrm().QueryTable(“t_user”).Filter(“id__in”, ids).Delete()
if num & 0 && err == nil {
return nil
return err
func AddUser(u *User) (int64, error) {
if err := checkUser(u); err != nil {
return 0, err
o := orm.NewOrm()
user := new(User)
user.Name = u.Name
user.Email = u.Email
user.Phone = u.Phone
user.Image = u.Image
user.Addr = u.Addr
tm2, _ := time.Parse(&#34;&#34;, u.Birth) //日期字符串转为时间戳
user.Birth = strconv.FormatInt(tm2.Unix(), 10)
user.Birth = u.Birth
user.Remark = u.Remark
user.Regtime = strconv.FormatInt(time.Now().Unix(), 10) //获取当前时间戳
id, err := o.Insert(user)
return id, err
func UpdateUser(u *User) (int64, error) {
if err := checkUser(u); err != nil {
return 0, err
o := orm.NewOrm()
user := make(orm.Params)
if len(u.Name) & 0 {
user[“Name”] = u.Name
if len(u.Phone) & 0 {
user[“Phone”] = u.Phone
if len(u.Addr) & 0 {
user[“Addr”] = u.Addr
if len(u.Email) & 0 {
user[“Email”] = u.Email
if len(u.Birth) & 0 {
tm, _ := time.Parse(“”, u.Birth) //日期字符串转为时间戳
user[“Birth”] = strconv.FormatInt(tm.Unix(), 10)
user[“Birth”] = u.Birth
if len(u.Image) & 0 {
user[“Image”] = u.Image
if len(u.Remark) & 0 {
user[“Remark”] = u.Remark
if len(user) == 0 {
return 0, errors.New(“update field is empty”)
var table User
num, err := o.QueryTable(table).Filter(“Id”, u.Id).Update(user)
return num, err
func GetUserByUsername(username string) (user User) {
user = User{Name: username}
o := orm.NewOrm()
o.Read(&user, “Name”)
return user
package routers
“github.com/astaxie/beego”
“hello/controllers”
func init() {
beego.Router(“/”, &controllers.MainController{})
beego.Router(“/usermanage”, &controllers.UserController{}, “*:UserIndex”)
beego.Router(“/user/list”, &controllers.UserController{}, “*:UserList”)
beego.Router(“/user/add”, &controllers.UserController{}, “*:UserAdd”)
beego.Router(“/user/del”, &controllers.UserController{}, “*:UserDel”)
beego.Router(“/user/update”, &controllers.UserController{}, “*:UserUpdate”)
beego.Router(“/user/upload”, &controllers.UserController{}, “*:UserUpload”)
usermanage.html
{{template “../user/header.tpl”}}
命令行启动bee
(以后可以直接启动hello.exe)
浏览器打开
660 次点击 &
2 回复 &| &直到
请尽量让自己的回复能够对别人有帮助
支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
支持 @ 本站用户;支持表情(输入 : 提示),见
图片支持拖拽、截图粘贴等方式上传
记住登录状态
win10+go+beego搭建用户管理系统
经过两天的从零开始研究学习,go程序的用户crud系统终于搭建成功,很不错吆。
go环境搭建
下载go1.9rc2.windows-amd64.msi,由于golang被墙,只能从其他网上下载。
采用默认安装到C:\Go,打开命令行,输入go version
C:\Users\steve&go version
go version go1.9rc2 windows/amd64
创建C:\GOPATH文件夹,添加环境变量
go开发工具安装配置
下载eclipse-inst-win64.exe(4.6.3)并安装
安装goclipse插件
因为GFC的封闭,我们需要先到下载GoClipse的安装包,并解压。然后打开Eclipse(确保已经包含CDT),Help -& Install New Software…,然后选择Add按钮,输入解压后的Release目录,选择GoClipse,然后一直next就安装成功了。安装完成后需要重启Eclipse。
勾选goclipse,下一步直至完成
打开:Window&Preferences
下载gocode.exe,guru.exe,godef.exe也可以不配置
下载并安装好Git bash工具
打开gitbash,输入 go get github.com/astaxie/beego
。稍等片刻即可在GOPATH的src目录下看到有\github.com\astaxie\beego目录。
在gitbash中输入 go get github.com/beego/bee
。稍等片刻即可在GOPATH的src目录下看到有\github.com\beego\bee目录,同时有很多依赖包被下载添加到\github.com目录下。
cd %GOPATH%/src
bee new hello
bee run hello
在浏览器输入127.0.0.1:8080就看到了运行结果(welcome to beego的欢迎页)
goeclipse开发
打开eclipse,导入hello项目
新建文件,结构如下
appname = hello
httpport = 8080
runmode = dev
db.host = localhost
db.port = 3306
db.user = root
db.pass = 123456
db.name = test
db.timezone = Asia/Shanghai
default.go
package controllers
“github.com/astaxie/beego”
type MainController struct {
beego.Controller
func (c *MainController) Get() {
c.Data[“Website”] = “beego.me”
c.Data[“Email”] = “”
c.TplName = “user/usermanage.html”
func (c *MainController) Rsp(status bool, str string) {
c.Data[“json”] = &map[string]interface{}{“succ”: status, “msg”: str}
c.ServeJSON()
package controllers
m “hello/models”
type UserController struct {
MainController
func (this *UserController) Index() {
user := this.GetSession(“userinfo”)
if user != nil {
this.Data[“userinfo”] = user
this.TplName = “main.html”
this.Redirect(“/”, 302)
func (this *UserController) UserIndex() {
this.TplName = “user/usermanage.html”
func (this *UserController) UserList() {
page, _ := this.GetInt64(“page”)
pageSize, _ := this.GetInt64(“rows”)
u := m.User{}
if this.GetString(“id”) != “” {
u.Id, _ = this.GetInt(“id”)
if this.GetString(“name”) != “” {
u.Name = this.GetString(“name”)
if this.GetString(“phone”) != “” {
u.Phone = this.GetString(“phone”)
nodes, cnt := m.GetUserList(page, pageSize, &u)
fmt.Println(cnt)
this.Data[“json”] = &map[string]interface{}{“total”: cnt, “rows”: &nodes}
this.ServeJSON()
func (this *UserController) UserDel() {
idstr := this.GetString(“ids”)
err := m.DelUser(idstr)
if err != nil {
this.Rsp(false, err.Error())
this.Rsp(true, “删除成功”)
func (this *UserController) UserAdd() {
u := m.User{}
u.Id, _ = this.GetInt(“Id”)
if err := this.ParseForm(&u); err != nil {
this.Rsp(false, err.Error())
id, err := m.AddUser(&u)
if err == nil && id & 0 {
this.Rsp(true, “新增成功”)
this.Rsp(false, err.Error())
func (this *UserController) UserUpdate() {
u := m.User{}
if err := this.ParseForm(&u); err != nil {
this.Rsp(false, err.Error())
id, err := m.UpdateUser(&u)
if err == nil && id & 0 {
this.Rsp(true, “修改成功”)
this.Rsp(false, err.Error())
func (this *UserController) UserUpload() {
f, fh, err := this.GetFile(&#34;uploadFile&#34;)
defer f.Close()
if err != nil {
fmt.Println(&#34;get file error &#34;, err)
this.Data[&#34;json&#34;] = &map[string]interface{}{&#34;path&#34;: &#34;&#34;, &#34;succ&#34;: false}
this.ServeJSON()
fmt.Println(fh.Filename)
this.SaveToFile(&#34;uploadFile&#34;, &#34;static/upload/&#34;+fh.Filename)
this.Data[&#34;json&#34;] = &map[string]interface{}{&#34;path&#34;: &#34;/static/upload/&#34; + fh.Filename, &#34;succ&#34;: true}
this.ServeJSON()
package models
“github.com/astaxie/beego”
“github.com/astaxie/beego/orm”
_ “github.com/go-sql-driver/mysql”
“net/url”
func init() {
dbhost := beego.AppConfig.String(“db.host”)
dbport := beego.AppConfig.String(“db.port”)
dbname := beego.AppConfig.String(“db.name”)
dbuser := beego.AppConfig.String(“db.user”)
dbpass := beego.AppConfig.String(“db.pass”)
timezone := beego.AppConfig.String(“db.timezone”)
if dbport == “” {
dbport = “3306”
dsn := dbuser + “:” + dbpass + “@tcp(” + dbhost + “:” + dbport + “)/” + dbname + “?charset=utf8”
dsn := “root:123456@/test?charset=utf8”
if timezone != “” {
dsn = dsn + “&loc=” + url.QueryEscape(timezone)
fmt.Println(dsn)
orm.RegisterDataBase(“default”, “mysql”, dsn, 5, 30)
if beego.AppConfig.String(“runmode”) == “dev” {
orm.Debug = true
package models
“errors”
“strconv”
“strings”
&#34;github.com/astaxie/beego/orm&#34;
&#34;github.com/astaxie/beego/validation&#34;
type User struct {
string form:&#34;name&#34; valid:&#34;RMaxSize(20);MinSize(6)&#34;
string form:&#34;pass&#34; valid:&#34;RMaxSize(20);MinSize(6)&#34;
string form:&#34;email&#34; valid:&#34;REmail&#34;
string form:&#34;phone&#34; valid:&#34;RMobile&#34;
string form:&#34;image&#34; valid:&#34;MaxSize(50);MinSize(6)&#34;
string form:&#34;addr&#34; valid:&#34;MaxSize(30)&#34; form:&#34;name&#34;
Regtime string
string form:&#34;birth&#34;
string valid:&#34;MaxSize(200)&#34; form:&#34;remark&#34;
func init() {
orm.RegisterModel(new(User))
func (u *User) TableName() string {
return “t_user”
func (this *User) ToString() string {
return fmt.Sprintf(“Id:%d\tName:%s”, this.Id, this.Name)
func checkUser(u *User) (err error) {
valid := validation.Validation{}
b, _ := valid.Valid(&u)
for _, err := range valid.Errors {
log.Println(err.Key, err.Message)
return errors.New(err.Message)
return nil
func GetUserList(page int64, pageSize int64, user *User) (userlist []*User, count int64) {
o := orm.NewOrm()
qs := o.QueryTable(“t_user”)
var offset int64
if page & 1 {
offset = (page - 1) * pageSize
if user.Id != 0 {
qs = qs.Filter(“id__exact”, user.Id)
if user.Phone != “” {
qs = qs.Filter(“phone__contains”, user.Phone)
if user.Name != “” {
qs = qs.Filter(“name__contains”, user.Name)
qs.Limit(pageSize, offset).OrderBy(“-Id”).All(&userlist)
count, _ = qs.Count()
return userlist, count
func DelUser(idstr string) error {
ids := strings.Split(idstr, “,”)
num, err := orm.NewOrm().QueryTable(“t_user”).Filter(“id__in”, ids).Delete()
if num & 0 && err == nil {
return nil
return err
func AddUser(u *User) (int64, error) {
if err := checkUser(u); err != nil {
return 0, err
o := orm.NewOrm()
user := new(User)
user.Name = u.Name
user.Email = u.Email
user.Phone = u.Phone
user.Image = u.Image
user.Addr = u.Addr
tm2, _ := time.Parse(&#34;&#34;, u.Birth) //日期字符串转为时间戳
user.Birth = strconv.FormatInt(tm2.Unix(), 10)
user.Birth = u.Birth
user.Remark = u.Remark
user.Regtime = strconv.FormatInt(time.Now().Unix(), 10) //获取当前时间戳
id, err := o.Insert(user)
return id, err
func UpdateUser(u *User) (int64, error) {
if err := checkUser(u); err != nil {
return 0, err
o := orm.NewOrm()
user := make(orm.Params)
if len(u.Name) & 0 {
user[“Name”] = u.Name
if len(u.Phone) & 0 {
user[“Phone”] = u.Phone
if len(u.Addr) & 0 {
user[“Addr”] = u.Addr
if len(u.Email) & 0 {
user[“Email”] = u.Email
if len(u.Birth) & 0 {
tm, _ := time.Parse(“”, u.Birth) //日期字符串转为时间戳
user[“Birth”] = strconv.FormatInt(tm.Unix(), 10)
user[“Birth”] = u.Birth
if len(u.Image) & 0 {
user[“Image”] = u.Image
if len(u.Remark) & 0 {
user[“Remark”] = u.Remark
if len(user) == 0 {
return 0, errors.New(“update field is empty”)
var table User
num, err := o.QueryTable(table).Filter(“Id”, u.Id).Update(user)
return num, err
func GetUserByUsername(username string) (user User) {
user = User{Name: username}
o := orm.NewOrm()
o.Read(&user, “Name”)
return user
package routers
“github.com/astaxie/beego”
“hello/controllers”
func init() {
beego.Router(“/”, &controllers.MainController{})
beego.Router(“/usermanage”, &controllers.UserController{}, “*:UserIndex”)
beego.Router(“/user/list”, &controllers.UserController{}, “*:UserList”)
beego.Router(“/user/add”, &controllers.UserController{}, “*:UserAdd”)
beego.Router(“/user/del”, &controllers.UserController{}, “*:UserDel”)
beego.Router(“/user/update”, &controllers.UserController{}, “*:UserUpdate”)
beego.Router(“/user/upload”, &controllers.UserController{}, “*:UserUpload”)
usermanage.html
{{template “../user/header.tpl”}}
命令行启动bee
(以后可以直接启动hello.exe)
浏览器打开
432 人在线
&最高记录 2928
& studygolang.com Go语言中文网,中国 Golang 社区,致力于构建完善的 Golang 中文社区,Go语言爱好者的学习家园。
Powered by
&o&服务器由
赞助 &·&CDN 由
VERSION: V3.5.0&·&10.565525ms&·&为了更好的体验,本站推荐使用 Chrome 或 Firefox 浏览器
登录和大家一起探讨吧
记住登录状态
还不是会员博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)& 1993 - 2018 Easysoft Limited. All rights reserved.
Oracle& is a registered trademark of Oracle& Corporation and/or its affiliates. Other trademarks and registered trademarks appearing on easysoft.com are the property of their respective owners.win10此用户dsn的驱动程序不存在怎么解决?_百度知道
win10此用户dsn的驱动程序不存在怎么解决?
我有更好的答案
在“此电脑”右键菜单选择属性。方法二:依次打开
控制面板--&系统和安全--&gt,然后点下一步等待驱动更新好就可以使用了;系统打开设备管理器.0.1,可以看到PL2303对应的驱动上有一个感叹号右键单击有感叹号的设备.0”的驱动程序,有两种方法打开“此电脑”的属性窗口,选择“更新驱动程序软件”选择“手动查找并安装驱动程序软件“选择“从计算机驱动程序列表中选择”。选择版本号为“3。方法一
为您推荐:
其他类似问题
您可能关注的内容
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 win10mdsn 的文章

 

随机推荐