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();
}
}
}
3.创建Manager类,演示对TestUser进行增删改查功能的更多相关文章
- 共享参数ContentProvider 类与数据库绑定,如何通过共享参数测试类,测试数据库的增删改查功能
Intent可以传一个对象 当两个界面之间跳转时,需要传递一个对象过去,是通过使用Bundle类,并且实体类需要serializable实现序列化,传递方法如下: 定义一个静态常量作为key值 pub ...
- 使用MVC5+Entity Framework6的Code First模式创建数据库并实现增删改查功能
此处采用VS2017+SqlServer数据库 一.创建项目并引用dll: 1.创建一个MVC项目 2.采用Nuget安装EF6.1.3 二.创建Model 在models文件夹中,建立相应的mode ...
- django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面
1.为test.DB数据库预先创建下面数据 1 张三 16 2015-01-02 12 李四 17 2015-01-04 13 王五 14 ...
- JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能
JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能 html <table id="productDg"></table> &l ...
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)
最近看老罗的视频,跟着完成了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查.其中查询这块,包括普通的查询和利用反射完成的查询,主要包括以下几个函数接口 ...
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包括增删改查、JavaBean反射原理,附源代码)
近期看老罗的视频,跟着完毕了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完毕对数据库的增删改查.当中查询这块,包含普通的查询和利用反射完毕的查询,主要包含以下几个函数接口 ...
- magento中Model创建以及该Model对于数据库的增删改查
本文是按照magento英文文档照做与翻译的. Model层的实现是mvc框架的一个巨大的部分.它代表了你的应用的数据,或者说大多数应用没有数据是无用的.Magento的Model扮演着一个重要的角色 ...
- 学习MyBatis必知必会(5)~了解myBatis的作用域和生命周期并抽取工具类MyBatisUtil、mybatis执行增删改查操作
一.了解myBatis的作用域和生命周期[错误的使用会导致非常严重的并发问题] (1)SqlSessionFactoryBuilder [ 作用:仅仅是用来创建SqlSessionFactory,作用 ...
- IDEA中通过工具类实现对数据库的增删改查
package com.hu.dao; import com.hu.entity.Student; import java.util.List;import java.util.Map; public ...
随机推荐
- [LeetCode] 312. Burst Balloons 打气球游戏
Given n balloons, indexed from 0 to n-1. Each balloon is painted with a number on it represented by ...
- pom中更换阿里云仓库时不要忽略了pluginRepositories
用maven也大几年了,也一直在用阿里云的中央仓库. 不喜欢在maven的settings.xml里改,更喜欢直接在pom.xml里改,因为受git管理,小伙伴们拉下来即可. 然而网上的大部分技术文章 ...
- 在 C++ 中使用 QML 对象
看过了如何在 QML 中使用 C++ 类型或对象,现在来看如何在 C++ 中使用 QML 对象. 我们可以使用 QML 对象的信号.槽,访问它们的属性,都没有问题,因为很多 QML 对象对应的类型,原 ...
- linux 开机mount nfs
mount -t nfs 10.208.1.235:/home/gis/bigrasterdata/mxds/uploads /usr/local/website/upload/pythonmxds ...
- 用pyenv管理Python多版本及下载加速方法--Mac上
原文:https://www.jianshu.com/p/91fc7ecc5e46 先大致介绍下pyenv的安装及配置流程.随后介绍加速下载方法 安装: brew install pyenv 配置 在 ...
- 在ASP.NET Core中添加的Cookie如果含有特殊字符,会被自动转义
我们知道在Cookie中有些字符是特殊字符,这些字符是不能出现在Cookie的键值中的. 比如"="是Cookie中用来分隔键和值的特殊字符,例如:Key01=Value01,表示 ...
- SQLServer日常bug记录
问题1:如下图所示 原因分析:同时操作数据库中的两条数据引起的 解决方法:新建查询语句 delete 数据库名字.表名 where 引起错误的字段=引起错误的字段值
- .Net IOC框架入门之——Unity
一.概述 IOC:英文全称:Inversion of Control,中文名称:控制反转,它还有个名字叫依赖注入(Dependency Injection). 作用:将各层的对象以松耦合的方式组织在一 ...
- 二、NodeJS入门——准备工作(2)——MongoDB安装以及客户端Robomongo安装和使用
目录 1.介绍 2.下载地址 3.MongoDB安装过程 4.MongoDB的使用 5.MongoDB添加管理员账户 6.RoboMongo安装过程 ...
- ASP.NET Core IIS发布
ASP.NET Core应用发布到IIS 官网教程地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?vi ...