1. 程式人生 > >C# 連線 MySql 對資料庫的增刪改查

C# 連線 MySql 對資料庫的增刪改查

新建C#控制檯應用程式,新增NHIbernate,NHibernate.Mapping.Attributes的引用。
建立Mysql資料,和表

1.進入mysql資料庫:
mysql> use mysql; 
Database changed

2.給root使用者設定新密碼:  
mysql> update user set password=password("新密碼") where user="root"; 
Query OK, 1 rows affected (0.01 sec) 
Rows matched: 1 Changed: 1 Warnings: 0

3.重新整理資料庫
mysql>
flush privileges; Query OK, 0 rows affected (0.00 sec) 4.退出mysql: mysql> quit; Bye

Rebuild.bat

@echo off  
:begin
@echo ----------1, create all game database------------ 
mysql -uroot -p123456<createdb.sql
PAUSE

createdb.sql

drop database if exists testmysql;
create database testmysql character
set utf8;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Database.Model {
    class User {
        public virtual int Id { get; set; }
        public virtual string Username{get;set;}
        public virtual string Password { get
; set; } public virtual int Age{get;set;} } }

Model Mapping資料夾

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FluentNHibernate.Mapping;

namespace Database.Model.Mapping {
    class TestUserMap  : ClassMap<User> {
        public TestUserMap() {//這裡的x是一個testuser的物件
            Id(x => x.Id).Column("id")   ;//設定id屬性為主鍵
            Map(x => x.Username).Column("username");
            Map(x => x.Password).Column("password");
            Map(x => x.Age).Column("age");
            Table("user");
        }
    }
}
using FluentNHibernate.Cfg;
using NHibernate;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FluentNHibernate.Cfg.Db;

namespace Database {
    class NHibernateHelper {
        private static ISessionFactory sessionFactory = null;//單利模式

        private static void InitializeSessionFactory() {
                sessionFactory =
                    Fluently.Configure().Database(MySQLConfiguration.Standard.ConnectionString(db => db.Server("127.0.0.1").Database("mysqltest").Username("root").Password("123456")))
                        .Mappings(x => x.FluentMappings.AddFromAssemblyOf<NHibernateHelper>()).BuildSessionFactory();
        }

        private static ISessionFactory SessionFactory {
            get {
                if (sessionFactory == null)
                    InitializeSessionFactory();
                return sessionFactory;
            }
        }

        public static ISession OpenSession() {
                return SessionFactory.OpenSession();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Database.Model;

namespace Database.Manager {
    class UserManager {
        public IList<User> GetAllUser() {
            using (var session = NHibernateHelper.OpenSession()) {
                using (var transaction = session.BeginTransaction()) {
                    var userList = session.QueryOver<User>();
                    transaction.Commit();
                    return userList.List();
                }
            }
        }

        public IList<User> GetUserByUsername(string username)
        {
            using (var session = NHibernateHelper.OpenSession()) {
                using (var transaction = session.BeginTransaction()) {
                    var userList = session.QueryOver<User>().Where(user => user.Username == username);
                    transaction.Commit();
                    return userList.List();
                }
            }
        }

        public void SaveUser(User user)
        {
            using (var session = NHibernateHelper.OpenSession()) {
                using (var transaction = session.BeginTransaction()) {
                    session.Save(user);
                    transaction.Commit();
                }
            }
        }

        public void DeleteById(int id) {
            using (var session = NHibernateHelper.OpenSession()) {
                using (var transaction = session.BeginTransaction()) {
                    User tu = new User();
                    tu.Id = id;
                    session.Delete(tu);
                    transaction.Commit();
                }
            }
        }

        public void UpdateUser(User tu)
        {
            using (var session = NHibernateHelper.OpenSession()) {
                using (var transaction = session.BeginTransaction()) {
                    session.Update(tu);
                    transaction.Commit();
                }
            }
        }

        static void Main(string[] args) {
            UserManager testuserManager = new UserManager();
            IList<User> testuserList = testuserManager.GetAllUser();
            Console.WriteLine("-------testuserManager.GetAllUser()--------");
            foreach (User tu in testuserList)
            {
                Console.WriteLine(tu.Username);
            }
            Console.WriteLine("-------GetUserByUsername--------");
            IList<User> testuserList2 = testuserManager.GetUserByUsername("circle");
            foreach (User tu in testuserList2)
            {
                Console.WriteLine(tu.Username);
            }
            Console.WriteLine("--------------- save");
            User tu2 = new User();
            tu2.Username = "03"; tu2.Password = "03"; tu2.Age = 2;
            //testuserManager.SaveUser(tu2);
            Console.WriteLine("--------------- delete");
            //testuserManager.DeleteById(2);
            Console.WriteLine("--------------- update");
            User tu3 = testuserList2[0];
            tu3.Password = "1234567890";
            testuserManager.UpdateUser(tu3);

            Console.ReadKey();
        }
    }
}

相關推薦

C# 連線 MySql 資料庫刪改

新建C#控制檯應用程式,新增NHIbernate,NHibernate.Mapping.Attributes的引用。 建立Mysql資料,和表 1.進入mysql資料庫: mysql> use mysql; Database changed 2

C#編寫簡單的資料庫刪改(二)

一、今天我們繼續資料庫的增刪改查的編寫,下面我們進行刪除操作,我們在Formdelete介面上拖入幾個控制元件,如下圖: (資料庫顯示框參照之前的資料庫增加的方法) 將控制元件改名後,雙擊刪除按鈕進入程式碼編寫介面,首先連線資料庫,在判斷

Java資料庫刪改操作

基於前面練習所出現的問題對其進行修改,可以成功的對資料庫資訊進行增刪改查四項基本操作。 以下是部分修改的程式碼,整體的程式碼詳見前天的練習2。初始介面就不說了。 首先來到初始介面,點選瀏覽,會出現資料庫的資訊。 前面所出現的問題是,點選瀏覽之後,不斷的重複出現資訊新

C#連線資料庫刪改程式碼 SQL SERVER/ACCESS 通用類

using System.Data.OleDb; using System.Data; public static class DataTools { private static OleDbConnection oleCo

NX二次開發-NX連線SqlServer資料庫(刪改)C#版

版本:NX9+VS2012+SqlServer2008r2 以前我寫過一個NX連線MySQL資料庫(增刪改查)的文章https://www.cnblogs.com/nxopen2018/p/12297590.html 這次寫一下,NX連線SqlServer資料庫(增刪改查)C#版,使用了ADO.NET技術。

32、mysql資料庫刪改

建立資料庫 CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] [CHARACTER SET=''] [DEFAULT] [COLLATE=''] IF NOT EXISTS 指定資料庫不存在的時候才建立 CHARACTER SET=

Linux資料庫管理——day1——安裝MySQL、基本刪改操作

  資料庫: DB 資料庫 依照某個資料模型進行組織並存放到儲存器中 DBMS 資料庫管理系統 用來控制和管理資料的服務軟體 DBS 資料庫系統

java實現mysql資料庫刪改

1.連線資料庫: import java.sql.Connection; import java.sql.DriverManager; public class DBConnection { static String driver = "com.mysql.jdbc.Driver"; s

1112_Springboot+Mybaits+Mysql資料庫刪改操作——上路

Springboot+Mybaits+Mysql資料庫增刪改查操作 瘋人願的瘋言瘋語 2017.11.03 16:37* 字數 754 閱讀 414評論 0喜歡 4 最近在老師的建議下,參加了一個學習小組,主要了解Spring Cloud微服務架構的應用開發,在初次搭建好環境後,這

jsp連線資料庫刪改

一,建立表 二.將jar包複製匯入到lib資料夾下 三.建立工具包連線資料庫 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLE

mysql 資料庫 刪改

//建立表的函式 function creatTabel($table){ //建立 myspl 物件 mysqli(伺服器地址,使用者名稱,密碼,資料庫的名字) $mySql = new mysqli("127.0.0.1","root","","zxb

python3 MySQL資料的刪改

# /usr/bin/python3.7.0 # -*- coding:utf-8 -*- import json import urllib2 import urllib import pymysql def doMysql(): #使用者名稱:root 密碼:1234

ASP.NET 連線資料庫 刪改簡單例項

本文主要講解連線ASP.NET 連線資料庫最簡單的方法和增刪改查的小例子,因為只涉及到一個頁面,所以沒有使用web.config,以及使用DBHelper,旨在讓讀者們拋開封裝好的東西,瞭解實際程式碼。 因為本例涉及到資料庫,所以在開始之前請先在資料庫裡新建一個名為“te

MySQL-資料庫刪改

查詢資料庫:show databases; 建立資料庫:create database 庫名; 刪除資料庫:drop database 庫名 建立表:create table 表名(欄位名 資料型別【屬性】【索引】) 查看錶結構:desc 表名 查看錶:show tables 插入資料:inser

Python之MySQL資料庫刪改操作

Python之MySQL資料庫操作 Python之連線資料庫 import pymysql # 獲取連線物件conn,建立資料庫的連線 def get_conn(): conn =

資料庫連線:操作資料刪改

<?php $db = new MySQLi("localhost","root","12345678","heiheihei"); //連線資料庫 $sql = "select * from student "; //寫sql語句 $r = $db->query($sql); //執行sql語

python3操作mysql資料庫刪改

python3.x 使用pymysql操作mysql,python2.x使用mysqldb操作mysql #!/usr/bin/python3 import pymysql import type

MYSQL資料庫 刪改基礎語句

語法:create table tablename(column_name_1 column_type_1 constraints,column_name_2 column_type_2 constraints,column_name_3 column_type_3 constraints)

php 使用mysql資料庫刪改

為了方便直接,寫成函數了。驚訝於php的簡潔,幾分鐘就搞定了。解釋一下: 編碼 header("Content-type: text/html; charset=utf-8"); 這句可以防止亂碼 連結資料庫地址 使用mysql_connect

pymysql連線資料庫,實現資料庫刪改

1.資料庫連線 # 建立連線 def create_conn(): import pymysql conn = pymysql.connect( host='localhost', port=3306, user='root'