• 3.创建Manager类,演示对TestUser进行增删改查功能


    接上一篇文章 创建NHibernateHelper帮助类,生成sessionFactory

    http://www.cnblogs.com/fzxiaoyi/p/8443587.html

    创建个新的类Manager,演示对TestUser进行增删改查功能

    编写代码如下:

    using MySQLDateBase.Model;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace MySQLDateBase.Manager
    {
        /// <summary>
        /// 这个类用于对TestUser进行增删改查功能
        /// </summary>
        class Manager
        {
            //获取TestUser所有用户信息
            public IList<TestUser> GetAllUser()
            {
                using (var session = NHibernateHelper.OpenSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        var userList = session.QueryOver<TestUser>();
                        transaction.Commit();
                        return userList.List();
                    }
                }
            }
            //通过用户名查询用户
            public IList<TestUser> GetUserByUserName(string userName)
            {
                using (var session = NHibernateHelper.OpenSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        var userList = session.QueryOver<TestUser>().Where(user => user.Username == userName);
                        transaction.Commit();
                        return userList.List();
                    }
                }
            }
            //增加用户
            public void AddUser(TestUser user)
            {
                using (var session = NHibernateHelper.OpenSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        session.Save(user);
                        transaction.Commit();
                    }
                }
            }
            //删除用户
            public void DeleteUserById(int id)
            {
                using (var session = NHibernateHelper.OpenSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        TestUser user = new TestUser();
                        user.Id = id;
                        //注意如果指定主键不存在,就会抛出异常
                        session.Delete(user);
                        transaction.Commit();
                    }
                }
            }
            //修改用户
            public void ModifyUser(TestUser user)
            {
                using (var session = NHibernateHelper.OpenSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        session.Update(user);
                        transaction.Commit();
                    }
                }
            }
    
            //测试用的入口,注释掉Program.cs中的Main函数
            static void Main(string[] arrgs)
            {
                Manager testUserManager = new Manager();
    
                //获取所有用户信息
                Console.WriteLine("获取所有用户信息:");
                IList<TestUser> allUserList = testUserManager.GetAllUser();
                foreach (TestUser item in allUserList)
                {
                    Console.WriteLine("用户名:{0} | 密码:{1}" ,item.Username,item.Password);
                }
                //通过用户名查询用户
                Console.WriteLine("******************************");
                Console.WriteLine("通过用户名查询用户:");
                IList<TestUser> testuserList_1 = testUserManager.GetUserByUserName("xiaoyi");
                foreach (var item in testuserList_1)
                {
                    Console.WriteLine("用户名:{0} | 密码:{1}",item.Username,item.Password);
                }
                //增加用户
                Console.WriteLine("******************************");
                Console.WriteLine("增加用户:");
                TestUser newUser = new TestUser();
                newUser.Username = "新用户777";
                newUser.Password = "001002";
                newUser.Age = 50;
                testUserManager.AddUser(newUser);
                //删除用户
                Console.WriteLine("******************************");
                Console.WriteLine("删除用户:");
                //删除上面新添加的用户
                testUserManager.DeleteUserById(newUser.Id);
                //修改用户
                Console.WriteLine("******************************");
                Console.WriteLine("修改用户:");
                IList<TestUser> testuserList_2 = testUserManager.GetUserByUserName("xiaoyi");
                //修改所有用户中的第一个用户的密码为abcdefg
                allUserList[0].Password = "abcdefg";
                testUserManager.ModifyUser(allUserList[0]);
    
                //最后获取所有用户信息
                Console.WriteLine("最后获取所有用户信息:");
                IList<TestUser> allUserList_1 = testUserManager.GetAllUser();
                foreach (TestUser item in allUserList)
                {
                    Console.WriteLine("用户名:{0} | 密码:{1}", item.Username, item.Password);
                }
    
                Console.ReadKey();
            }
        }
    }
    

      

  • 相关阅读:
    Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.2——使用Android Testing Support Library进行测试
    Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.1——单元测试
    Android开发:《Gradle Recipes for Android》阅读笔记(翻译)4.5——使用Android Libraries
    Android开发:《Gradle Recipes for Android》阅读笔记(翻译)4.4——自定义代码集合
    Android开发:《Gradle Recipes for Android》阅读笔记(翻译)4.3——排除任务
    10.13总结
    10.7号解题报告
    no zuo no die
    发誓!
    NOIP2016天天爱跑步
  • 原文地址:https://www.cnblogs.com/fzxiaoyi/p/8443590.html
Copyright © 2020-2023  润新知