MySQL数据库基础应用

128 篇文章 1 订阅
1 篇文章 0 订阅

第一步:安装MySQL数据库,安装数据库管理软件MySQL-Front

创建数据库arpg,表testuser,

在VS中创建数据库工程,鼠标右键解决方案,NuGet管理包

搜索FluentNibernate安装,MySQL安装

创建数据库模型类

  1. //数据库的模型类
  2.     class TestUser
  3.     {
  4.         public virtual int Id { get; set; } //表中的Id
  5.         public virtual string Username { get; set; }//表中的username字段
  6.         public virtual string Password { get; set; }//表中的password字段
  7.         public virtual int Aga { get; set; }//表中的age字段
  8.     }

创建数据库的映射类

  1.  class TestUserMap:ClassMap<TestUser>
  2.     {
  3.         //映射数据库表中的数据
  4.         public TestUserMap()
  5.         {
  6.             Id(x => x.Id);//设置Id属性为主键
  7.             Map(x => x.Username).Column("username");//普通属性映射
  8.             Map(x => x.Password).Column("password");
  9.             Map(x => x.Aga).Column("age");
  10.             Table("testuser");//表名
  11.         }
  12.     }

创建FluentNibernate的帮助类

  1.  public class NHibernateHelper
  2.     {
  3.         private static ISessionFactory session = null;
  4.         //初始化session
  5.         private static void InitSession()
  6.         {
  7.             session = Fluently.Configure()
  8.                 .Database(MySQLConfiguration.Standard.ConnectionString(db =>     db.Server("localhost").Database("arpg").Username("root").Password("root")))
  9.                 .Mappings(x => x.FluentMappings.AddFromAssemblyOf<NHibernateHelper>()).BuildSessionFactory();
  10.         }
  11.         //get属性
  12.         private static ISessionFactory SessionFactory
  13.         {
  14.             get{
  15.                 if (session == null)
  16.                 
  17.                     InitSession();
  18.                 
  19.                 return session;
  20.             }
  21.         }
  22.         //public 的get方法
  23.         public static ISession OpenSession()
  24.         {
  25.             return SessionFactory.OpenSession();
  26.         }
  27.     }

创建数据库的测试类

  1.  //测试查询用户名
  2.     class TestUserManager
  3.     {
  4.         //查询全部用户名
  5.         public IList<TestUser> GetAllUser()
  6.         {
  7.             //获取NHibernateHelper的 sesson
  8.             using (var session=NHibernateHelper.OpenSession())
  9.             {
  10.                 using (var transation = session.BeginTransaction())
  11.                 {
  12.                     //查询全部用户
  13.                     var userList = session.QueryOver<TestUser>();
  14.                     transation.Commit();
  15.                     return userList.List();
  16.                 }
  17.             }
  18.         }
  19.         //根据条件查询
  20.         public IList<TestUser> GetUserByName(string name)
  21.         {
  22.             using (var session = NHibernateHelper.OpenSession())
  23.             {
  24.                 using (var transation = session.BeginTransaction())
  25.                 {
  26.                   // 根据名字查询
  27.                     var userList = session.QueryOver<TestUser>().Where(user=>user.Username==name);
  28.                     transation.Commit();
  29.                     return userList.List();
  30.                 }
  31.             }
  32.         }
  33.         //增加 保存数据
  34.         public void SaveUser(TestUser user)
  35.         {
  36.             using (var session = NHibernateHelper.OpenSession())
  37.             {
  38.                 using (var transation = session.BeginTransaction())
  39.                 {
  40.                     //增加数据
  41.                     session.Save(user);
  42.                     transation.Commit();
  43.  
  44.                 }
  45.             }
  46.         }
  47.         //删除数据
  48.         public void DelById(int id)
  49.         {
  50.             using (var session = NHibernateHelper.OpenSession())
  51.             {
  52.                 using (var transation = session.BeginTransaction())
  53.                 {
  54.                     TestUser tu = new TestUser();
  55.                     tu.Id = id;
  56.                     //删除数据
  57.                     session.Delete(tu);
  58.                     transation.Commit();
  59.                 }
  60.             }
  61.         }
  62.         //更新
  63.         public void UpdataByUser(TestUser uptu)
  64.         {
  65.             using (var session = NHibernateHelper.OpenSession())
  66.             {
  67.                 using (var transation = session.BeginTransaction())
  68.                 {
  69.                     //更新数据
  70.                     session.Update(uptu);
  71.                    
  72.                     transation.Commit();
  73.                 }
  74.             }
  75.         }
  76.  
  77.        //测试方法
  78.         static void Main(string[] args)
  79.         {
  80.             TestUserManager userManager = new TestUserManager();
  81.             //查询所有
  82.             IList<TestUser> testuserList =userManager.GetAllUser();
  83.             foreach (TestUser tu in testuserList)
  84.             {
  85.                 Console.WriteLine(tu.Username);
  86.             }
  87.             Console.WriteLine("------------------根据名字查询--------------------------");
  88.             //根据条件查询
  89.             IList<TestUser> testuserList2 = userManager.GetUserByName("aa");
  90.             foreach (TestUser tu in testuserList2)
  91.             {
  92.                 Console.WriteLine(tu.Username);
  93.             }
  94.             Console.WriteLine("-----------------增加用户,保存--------------------------");
  95.             TestUser tesu = new TestUser();
  96.             tesu.Username = "张三";
  97.             tesu.Password = "123456";
  98.             tesu.Aga = 23;
  99.            // userManager.SaveUser(tesu);
  100.             Console.WriteLine("-----------------根据id删除--------------------------");
  101.             //userManager.DelById(5);
  102.             Console.WriteLine("-----------------更新--------------------------");
  103.             TestUser ts3 = testuserList[2];
  104.           
  105.             ts3.Password ="123456";
  106.             userManager.UpdataByUser(ts3);
  107.             Console.ReadKey();
  108.         }
  109.     }

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值