框架:gin
语言:golang
需求:使用gorm的原生sql语句实现增删改查。
备注:具体配置gorm的不再赘述。

数据库数据如下图所示:
定义数据库结构体如下:

type User struct {
	Model
	UserId    int    `json:"user_id" gorm:"index"`
	CompCd    string `json:"comp_cd"`
	UserCd    string `json:"user_cd"`
	UserName  string `json:"user_name"`
	UserPwd   string `json:"user_pwd"`
	UserType  string `json:"user_type"`
	UserPhone string `json:"user_phone"`
	UserEmail string `json:"user_email"`
	DelFlag   string `json:"del_flag"`
}

1.查询

  • 根据条件查询,问号即为占位符
    如下图所示
    具体代码如下:
//测试查询功能
func TestSelect(userId int) (userList []User) {
	db.Raw("select * from tsys_user where user_id > ?", userId).Scan(&userList)
	return
}

调用并打印返回体如下:

2.新增
新增一条数据,此处调用了Exec去执行sql语句,如下图:
具体代码如下:

//测试新增功能
func TestAdd(compCd, userCd, userName, usePwd, userType, userPhone, userEmail string) bool {
	db.Exec("insert into tsys_user (comp_cd,user_cd,user_name,user_pwd,user_type,user_phone,user_email) values (?,?,?,?,?,?,?)",
		compCd, userCd, userName, usePwd, userType, userPhone, userEmail)
	return true
}

调用并打印返回体,如下图:

查看数据库中数据:
3.修改
修改多条满足条件的数据,此处调用了Exec去执行sql语句,如下图:

具体代码如下:

//测试修改功能
func TestEdit(updMsg string, idSlice []int64) bool {
	db.Exec("update tsys_user set add_user=? where user_id in (?) ", updMsg, idSlice)
	return true
}

调用并打印返回体,如下图:


查看数据库中数据:

4.删除
删除多条满足条件的数据,此处调用了Exec去执行sql语句,如下图:

具体代码如下:

//测试删除功能
func TestDelete(idSlice []int64) bool {
	db.Exec("delete from tsys_user where user_id in (?)", idSlice)
	return true
}

调用并打印返回体,如下图:

查看数据库中数据:

总结:至此完成了gorm的调用简单原生sql语句,欢迎交流!

更多推荐

gorm调用原生sql语句