Open liujiusheng opened 2 years ago
GO语言中操作数据库使用xorm框架比较合适。
可能习惯于写弱类型语言的人会很不习惯于orm这种方式。
xorm有点类似于JAVA中的Mybatis框架,但这个的自动化程度更高,需要为每一个表定义一个struct结构体,插入数据、删除数据、更新数据、查询数据都是操作这个结构体,而不是像常规的去写sql语句操作数据库。
正如文档所说:SnakeMapper 支持struct为驼峰式命名,表结构为下划线命名之间的转换,这个是默认的Maper
在建结构体的时候要注意首字母的大写,不然由于不匹配会插入不进数据。
使用orm框架还是需要先自己建个数据库并且建表,这跟我原来理解的orm框架会自己创建表是不一致的。
在web项目中通常不需要把接口部分制作成多线程的。
GO的多线程与Node.js的await很类似,就是把多个互不相关的任务分发出去并行计算,最终在主线程合并成一个结果。
ORM中是将结构体传入,然后再直接取结构体的值,而不是通过函数return回来,这可能是因为GO语言不支持范型。
GO语言中操作数据库使用xorm框架比较合适。
可能习惯于写弱类型语言的人会很不习惯于orm这种方式。
xorm有点类似于JAVA中的Mybatis框架,但这个的自动化程度更高,需要为每一个表定义一个struct结构体,插入数据、删除数据、更新数据、查询数据都是操作这个结构体,而不是像常规的去写sql语句操作数据库。
正如文档所说:SnakeMapper 支持struct为驼峰式命名,表结构为下划线命名之间的转换,这个是默认的Maper
在建结构体的时候要注意首字母的大写,不然由于不匹配会插入不进数据。
使用orm框架还是需要先自己建个数据库并且建表,这跟我原来理解的orm框架会自己创建表是不一致的。
在web项目中通常不需要把接口部分制作成多线程的。
GO的多线程与Node.js的await很类似,就是把多个互不相关的任务分发出去并行计算,最终在主线程合并成一个结果。
ORM中是将结构体传入,然后再直接取结构体的值,而不是通过函数return回来,这可能是因为GO语言不支持范型。