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 ...
随机推荐
- C实现简单的xml格式文件
今天在工作中遇到了一个需要处理xml格式的字符串,需求是修改某个固定的value值,并且还要把这个xml的key和value按照原本的格式在推送回去. 如果使用库,就显得太臃肿了,就想写个简单的dem ...
- greatest among three numbers
public class Solution { public static void main(String[] args) { Scanner ip = new Scanner(System.in) ...
- SpringMVC参数传递方案
SpringMVC参数传递方案 登录 @PostMapping("/login") @ResponseBody public Map login(String username, ...
- 23 Maven工程module的移除和重新导入
1.移除module 移除后: 点击右侧的maven projects: 2.重新导入刚才移除的module (1)方法1 (2)方法2 Ctrl+Shift+ALT+S的快捷键 选择modules ...
- JavaScript:计算1在数字中出现的次数
题目: 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量). 示例 1: 输入:00000000000000000000000000001011 输 ...
- Java 8——接口中个的默认方法和静态方法
在Java SE 8之前,interface只是事物的抽象,用来定义统一的抽象事物和描述事物的抽象行为和属性. 但是在Java SE 8中,增加了可以在interface中增加默认实现的行为和事物的静 ...
- Java 线程的基本使用
GitHub Page: http://blog.cloudli.top/posts/Java-线程的基本使用/ 创建线程 创建线程的方式有两种: 继承 Thread 类 实现 Runnable 接口 ...
- 还不错的PHP导出EXCEL函数挺好用的
直接上函数吧 //导出 $data内容二维数组 $title各个标题 $filename表名称 function exportexcelinfo($data=array(),$title=array( ...
- axios模块封装
1.新建文件夹 network 在文件新建 request.js request.js: import axios from 'axios' export function request (conf ...
- jquery点击放大图片
参考地址:https://blog.csdn.net/qq_42249896/article/details/86569636 一.应用场景:点击图片可以对图片进行放大显示. 二.实现代码: 说明:我 ...