设为首页 加入收藏

TOP

NHibernate和MySQL的交互实践(二)
2018-06-18 14:24:15 】 浏览:359
Tags:NHibernate MySQL 交互 实践
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
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MySQL环境搭建及SQLyog连接数据库.. 下一篇sql优化教程之RangeOptimization..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目