xorm的基本使用
来源:互联网 发布:八千湘女嫁新疆知乎 编辑:程序博客网 时间:2024/05/17 05:55
中文文档:http://www.xorm.io/docs/
github地址:https://github.com/go-xorm/xorm
安装:go get github.com/go-xorm/xorm
基本使用
1.创建连接
//创建orm引擎 //"root:password@/xorm?charset=utf8":root为用户名,password为密码,xorm为数据库 //整体格式:"数据库名称:数据库连接密码@(数据库地址:3306)/数据库实例名称?charset=utf8" //mysql要导入:import _ "github.com/go-sql-driver/mysql" engine, err := xorm.NewEngine("mysql", "root:password@/xorm?charset=utf8") if err!=nil{ fmt.Println(err) return }
2.创建映射(可以手动编写也可以使用工具生成)
数据库对应的表:
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(32) NOT NULL COMMENT '用户名称', `birthday` date DEFAULT NULL COMMENT '生日', `sex` char(1) DEFAULT NULL COMMENT '性别', `address` varchar(256) DEFAULT NULL COMMENT '地址', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;
对应的结构体:
type User struct { Id int `xorm:"not null pk autoincr INT(11)"` Username string `xorm:"not null VARCHAR(32)"` Birthday time.Time `xorm:"DATE"` Sex string `xorm:"CHAR(1)"` Address string `xorm:"VARCHAR(256)"`}
工具自动生成方法:使用xorm工具
安装工具:go get github.com/go-xorm/cmd/xorm
命令行输入:xorm reverse mysql root:密码@/xorm?charset=utf8 /home/tym/golib/src/github.com/go-xorm/cmd/xorm/templates/goxorm/
/home/tym/golib/src/github.com/go-xorm/cmd/xorm/templates/goxorm/这一串是模版的位置(GOPATH/src里)
不写生成路径会在你的目录下建一个model,对应文件生成在model中
3.增删改查演示
package mainimport ( "github.com/go-xorm/xorm" "time" "fmt" "github.com/go-xorm/core" _ "github.com/go-sql-driver/mysql")type User struct { Id int `xorm:"not null pk autoincr INT(11)"` Username string `xorm:"not null VARCHAR(32)"` Birthday time.Time `xorm:"DATE"` Sex string `xorm:"CHAR(1)"` Address string `xorm:"VARCHAR(256)"`}func main() { //创建orm引擎 engine, err := xorm.NewEngine("mysql", "root:123456@/xorm?charset=utf8") if err!=nil{ fmt.Println(err) return } //连接测试 if err := engine.Ping(); err!=nil{ fmt.Println(err) return } //日志打印SQL engine.ShowSQL(true) //设置连接池的空闲数大小 engine.SetMaxIdleConns(5) //设置最大打开连接数 engine.SetMaxOpenConns(5) //名称映射规则主要负责结构体名称到表名和结构体field到表字段的名称映射 engine.SetTableMapper(core.SnakeMapper{}) //增 //user := new(User) //user.Username="tyming" //affected,err := engine.Insert(user) //fmt.Println(affected) //删 //user := new(User) //user.Username="tyming" //affected_delete,err := engine.Delete(user) //fmt.Println(affected_delete) //改 //user := new(User) //user.Username="tyming" //affected_update,err := engine.Id(1).Update(user) //fmt.Println(affected_update) //查 user := new(User) //result,err := engine.Id(1).Get(user) result,err := engine.Where("id=?",1).Get(user) fmt.Println(result)}
xorm更多操作可以参考:
1)中文文档:http://www.xorm.io/docs/
2)github的README.md:https://github.com/go-xorm/xorm
阅读全文
0 0
- xorm的基本使用
- xorm 的基本操作
- Xorm的框架使用-准备工作
- go-xorm使用mssql的小实例
- xorm使用小结
- XORM 的复杂操作
- 使用xorm将结构体转为sql文件
- xorm根据数据库表生成对应的结构体
- xorm常用编程方法总结
- Ant 的基本使用
- Ant 的基本使用
- Eclipse的基本使用
- Eclipse的基本使用
- JBuilder的基本使用
- JavaDB的基本使用
- Eclipse的基本使用
- Eclipse的基本使用
- JTable的基本使用
- ggtree美颜进化树-宏基因组扩增子
- addFieldError无法匹配的报错
- URAL 1010|Discrete Function
- HDU-1698 Just a Hook(线段树区间更新)
- 雾霾危害
- xorm的基本使用
- jdk1.8切换其他版本
- bubblesort
- mysql 中sum 求和中加if 判断
- Linux中的网络管理——计算机网络基础
- spark开始
- Atom顶部标题栏颜色调整的问题
- 聊聊RESTful
- 2017.10.4