liujiusheng / blog

个人博客,blog
19 stars 0 forks source link

GO语言中数据库操作框架xorm #234

Open liujiusheng opened 2 years ago

liujiusheng commented 2 years ago

GO语言中操作数据库使用xorm框架比较合适。

可能习惯于写弱类型语言的人会很不习惯于orm这种方式。

xorm有点类似于JAVA中的Mybatis框架,但这个的自动化程度更高,需要为每一个表定义一个struct结构体,插入数据、删除数据、更新数据、查询数据都是操作这个结构体,而不是像常规的去写sql语句操作数据库。

正如文档所说:SnakeMapper 支持struct为驼峰式命名,表结构为下划线命名之间的转换,这个是默认的Maper

在建结构体的时候要注意首字母的大写,不然由于不匹配会插入不进数据。

使用orm框架还是需要先自己建个数据库并且建表,这跟我原来理解的orm框架会自己创建表是不一致的。

在web项目中通常不需要把接口部分制作成多线程的。

GO的多线程与Node.js的await很类似,就是把多个互不相关的任务分发出去并行计算,最终在主线程合并成一个结果。

ORM中是将结构体传入,然后再直接取结构体的值,而不是通过函数return回来,这可能是因为GO语言不支持范型。