c ICollection
GetAllUsers()
{
using (ISession session = NHibernateHelper.OpenSession())
{
IList
users = session.CreateCriteria(typeof(User)).List
(); return users; } } public User GetById(int id) { using (ISession session = NHibernateHelper.OpenSession()) { //事务(事务中的一系列事件,只要有一个不成功,之前成功的也会回滚,即插入成功的又被删除,修改成功的又恢复.....) // transaction = session.BeginTransaction();//开启事务 using (ITransaction transaction = session.BeginTransaction()) { User user= session.Get
(id); transaction.Commit(); return user; } } } public User GetByUsername(string username) { using (ISession session = NHibernateHelper.OpenSession()) { /* ICriteria criteria= session.CreateCriteria(typeof(User)); criteria.Add(Restrictions.Eq("Username", username));//添加一个查询条件,第一个参数表示对哪个属性(字段)做限制,第二个表示值为多少 User user = criteria.UniqueResult
(); */ User user = session.CreateCriteria(typeof(User)).Add(Restrictions.Eq("Username", username)).UniqueResult
(); return user; } } ///
/// NHibernate删除时根据主键更新,所以传来的对象user中得有主键 /// ///
public void Remove(User user) { using (ISession session = NHibernateHelper.OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { session.Delete(user); transaction.Commit(); } } } ///
/// NHibernate更新时根据主键更新,所以传来的对象user中得有主键 /// ///
public void Update(User user) { using (ISession session = NHibernateHelper.OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { session.Update(user); transaction.Commit(); } } } public bool VerifyUser(string username, string password) { using (ISession session = NHibernateHelper.OpenSession()) { User user = session .CreateCriteria(typeof(User)) .Add(Restrictions.Eq("Username", username)) .Add(Restrictions.Eq("Password", password)) .UniqueResult
(); if (user == null) return false; return true; } } } }
7. 运行(Program.cs)
using System;
using System.Collections.Generic;
using Mynhibernate.Model;
using NHibernate.Cfg;
using NHibernate;
using Mynhibernate.Manager;
namespace Mynhibernate
{
class Program
{
static void Main(string[] args)
{
/*******插入********************
User user = new User() { Username = "ww8w2w", Password = "e8e2ee"};
IUserManager userManager = new UserManager();
userManager.Add(user);
***************************/
/****修改******************
User user = new User() { ID = 4, Username = "2018", Password = "eedd" };
IUserManager userManager = new UserManager();
userManager.Update(user);
*********************/
/****删除******************
User user = new User() { ID = 9};
IUserManager userManager = new UserManager();
userManager.Remove(user);
*********************/
/****通过ID查找*********************
IUserManager userManager = new UserManager();
User user = userManager.GetById(1);
Console.WriteLine(user.Username);
Console.WriteLine(user.Password);
*********************************/
/****通过username查找***********************
IUserManager userManager = new UserManager();
User user = userManager.GetByUsername("xll");
Console.WriteLine(user.Username);
Console.WriteLine(user.Password);
*****************************/
/***查询表中所有内容***********************
IUserManager user