sql封装成参数调用

SqlSugar是一个轻量级的ORM框架,它提供了丰富的功能,使得开发者能够更加方便地进行数据库操作,为了更好地利用SqlSugar的功能,我们可以对其进行基类封装,以便于在项目中统一使用和扩展,下面将详细介绍如何进行SqlSugar基类封装。

sql封装成参数调用
(图片来源网络,侵删)

我们需要创建一个基类,这个基类将包含一些通用的属性和方法,以便于我们在项目中统一使用,这个基类可以命名为BaseRepository,代码如下:

public class BaseRepository
{
    private SqlSugarClient _db;
    public BaseRepository(SqlSugarClient db)
    {
        _db = db;
    }
    // 通用的查询方法
    public IQueryable<T> Query<T>(Expression<Func<T, bool>> whereLambda) where T : class, new()
    {
        return _db.Queryable<T>().Where(whereLambda);
    }
    // 通用的添加方法
    public void Add<T>(T entity) where T : class, new()
    {
        _db.Insertable(entity).ExecuteCommand();
    }
    // 通用的更新方法
    public void Update<T>(T entity) where T : class, new()
    {
        _db.Updateable(entity).ExecuteCommand();
    }
    // 通用的删除方法
    public void Delete<T>(T entity) where T : class, new()
    {
        _db.Deleteable(entity).ExecuteCommand();
    }
}

接下来,我们需要在项目中使用这个基类,我们需要创建一个SqlSugarClient实例,这个实例将用于与数据库进行交互,我们可以创建一个继承自BaseRepository的子类,并在子类中实现具体的业务逻辑,我们可以创建一个UserRepository类,代码如下:

public class UserRepository : BaseRepository
{
    public UserRepository(SqlSugarClient db) : base(db)
    {
    }
    // 根据用户名和密码查询用户
    public User GetUserByUsernameAndPassword(string username, string password)
    {
        var user = Query<User>(u => u.Username == username && u.Password == password).SingleOrDefault();
        return user;
    }
    // 添加用户
    public void AddUser(User user)
    {
        Add(user);
    }
    // 更新用户信息
    public void UpdateUser(User user)
    {
        Update(user);
    }
    // 删除用户
    public void DeleteUser(User user)
    {
        Delete(user);
    }
}

现在,我们可以在项目中使用UserRepository类来进行数据库操作,我们可以在一个控制器中使用UserRepository来获取用户信息、添加用户、更新用户信息和删除用户,代码如下:

public class UserController : Controller
{
    private readonly UserRepository _userRepository;
    public UserController(SqlSugarClient db)
    {
        _userRepository = new UserRepository(db);
    }
    public IActionResult Index()
    {
        var user = _userRepository.GetUserByUsernameAndPassword("admin", "123456");
        return View(user);
    }
    [HttpPost]
    public IActionResult AddUser(User user)
    {
        _userRepository.AddUser(user);
        return RedirectToAction("Index");
    }
    [HttpPost]
    public IActionResult UpdateUser(User user)
    {
        _userRepository.UpdateUser(user);
        return RedirectToAction("Index");
    }
    [HttpPost]
    public IActionResult DeleteUser(User user)
    {
        _userRepository.DeleteUser(user);
        return RedirectToAction("Index");
    }
}

通过以上步骤,我们已经完成了SqlSugar基类的封装,在实际项目中,我们可以根据需要对基类进行扩展,以满足不同的业务需求,这种封装方式也有利于提高代码的可维护性和可读性。

原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/320570.html

(0)
酷盾叔的头像酷盾叔订阅
上一篇 2024-03-08 13:04
下一篇 2024-03-08 13:07

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入