框架: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语句
发布评论