ibatis.net 入门demo 实现基本增删改查

1、项目架构体系  DAO(数据访问层)   Domain(实体层)  Text(表示层)

2、比较重要的是需要添加两个dll的引用,以及两个配置文件和一个XML文件

两个 IbatisNet.Common.dll  、 IbatisNet.DataMapper.dll  添加在DAO层里(版本1.0.0.0)

两个配置文件Provider.config、SqlMap.config以及Student.xml要放到启动项的bin/Debugg下

Provider.config  代码附上(这个配置算是比较全的了,我用sql server 2016版本的数据库调试没问题,里面的配置一般来说不需要动,直接复制就行,很多数据库及版本的都兼容了)

<?xml version="1.0" encoding="utf-8"?>
<providers
xmlns="http://ibatis.apache.org/providers"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <clear/>
  <provider
      name="sqlServer1.0"
      description="Microsoft SQL Server, provider V1.0.3300.0 in framework .NET V1.0"
      enabled="false"
      assemblyName="System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" connectionClass="System.Data.SqlClient.SqlConnection"
      commandClass="System.Data.SqlClient.SqlCommand"
      parameterClass="System.Data.SqlClient.SqlParameter"
      parameterDbTypeClass="System.Data.SqlDbType"
      parameterDbTypeProperty="SqlDbType"
      dataAdapterClass="System.Data.SqlClient.SqlDataAdapter"
      commandBuilderClass="System.Data.SqlClient.SqlCommandBuilder"
      usePositionalParameters="false"
      useParameterPrefixInSql="true"
      useParameterPrefixInParameter="true"
      parameterPrefix="@"
        allowMARS="false"
  />
  <provider
   name="sqlServer4.0"
   enabled="true"
   description="Microsoft SQL Server, provider V4.0.0.0 in framework .NET V4.0"
   assemblyName="System.Data, Version=4.0.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089"
   connectionClass="System.Data.SqlClient.SqlConnection"
   commandClass="System.Data.SqlClient.SqlCommand"
   parameterClass="System.Data.SqlClient.SqlParameter"
   parameterDbTypeClass="System.Data.SqlDbType"
   parameterDbTypeProperty="SqlDbType"
   dataAdapterClass="System.Data.SqlClient.SqlDataAdapter"
   commandBuilderClass=" System.Data.SqlClient.SqlCommandBuilder"
   usePositionalParameters = "false"
   useParameterPrefixInSql = "true"
   useParameterPrefixInParameter = "true"
   parameterPrefix="@"
   allowMARS="false"
    />
  <provider
      name="sqlServer1.1"
      description="Microsoft SQL Server, provider V1.0.5000.0 in framework .NET V1.1"
      enabled="false"
      default="true"
      assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      connectionClass="System.Data.SqlClient.SqlConnection"
      commandClass="System.Data.SqlClient.SqlCommand"
      parameterClass="System.Data.SqlClient.SqlParameter"
      parameterDbTypeClass="System.Data.SqlDbType"
      parameterDbTypeProperty="SqlDbType"
      dataAdapterClass="System.Data.SqlClient.SqlDataAdapter"
      commandBuilderClass="System.Data.SqlClient.SqlCommandBuilder"
      usePositionalParameters="false"
      useParameterPrefixInSql="true"
      useParameterPrefixInParameter="true"
      parameterPrefix="@"
        allowMARS="false"
  />
  <provider
      name="sqlServer2.0"
      enabled="false"
      description="Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0"
      assemblyName="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      connectionClass="System.Data.SqlClient.SqlConnection"
      commandClass="System.Data.SqlClient.SqlCommand"
      parameterClass="System.Data.SqlClient.SqlParameter"
      parameterDbTypeClass="System.Data.SqlDbType"
      parameterDbTypeProperty="SqlDbType"
      dataAdapterClass="System.Data.SqlClient.SqlDataAdapter"
      commandBuilderClass=" System.Data.SqlClient.SqlCommandBuilder"
      usePositionalParameters = "false"
      useParameterPrefixInSql = "true"
      useParameterPrefixInParameter = "true"
      parameterPrefix="@"
      allowMARS="false"
    />
  <provider
     name="sqlServer2005"
     enabled="true"
     description="Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0"
     assemblyName="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
     connectionClass="System.Data.SqlClient.SqlConnection"
     commandClass="System.Data.SqlClient.SqlCommand"
     parameterClass="System.Data.SqlClient.SqlParameter"
     parameterDbTypeClass="System.Data.SqlDbType"
     parameterDbTypeProperty="SqlDbType"
     dataAdapterClass="System.Data.SqlClient.SqlDataAdapter"
     commandBuilderClass=" System.Data.SqlClient.SqlCommandBuilder"
     usePositionalParameters = "false"
     useParameterPrefixInSql = "true"
     useParameterPrefixInParameter = "true"
     parameterPrefix="@"
     allowMARS="true"
    />
  <provider name="OleDb1.1"
      description="OleDb, provider V1.0.5000.0 in framework .NET V1.1"
      enabled="false"
      assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      connectionClass="System.Data.OleDb.OleDbConnection"
      commandClass="System.Data.OleDb.OleDbCommand"
      parameterClass="System.Data.OleDb.OleDbParameter"
      parameterDbTypeClass="System.Data.OleDb.OleDbType"
      parameterDbTypeProperty="OleDbType"
      dataAdapterClass="System.Data.OleDb.OleDbDataAdapter"
      commandBuilderClass="System.Data.OleDb.OleDbCommandBuilder"
      usePositionalParameters="true"
      useParameterPrefixInSql="false"
      useParameterPrefixInParameter="false"
      parameterPrefix=""
      allowMARS="false"
    />
  <provider name="OleDb2.0"
    description="OleDb, provider V2.0.0.0 in framework .NET V2"
    enabled="false"
    assemblyName="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    connectionClass="System.Data.OleDb.OleDbConnection"
    commandClass="System.Data.OleDb.OleDbCommand"
    parameterClass="System.Data.OleDb.OleDbParameter"
    parameterDbTypeClass="System.Data.OleDb.OleDbType"
    parameterDbTypeProperty="OleDbType"
    dataAdapterClass="System.Data.OleDb.OleDbDataAdapter"
    commandBuilderClass="System.Data.OleDb.OleDbCommandBuilder"
    usePositionalParameters="true"
    useParameterPrefixInSql="false"
    useParameterPrefixInParameter="false"
    parameterPrefix=""
    allowMARS="false"
    />
  <provider
    name="Odbc1.1"
    description="Odbc, provider V1.0.5000.0 in framework .NET V1.1"
    enabled="false"
    assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    connectionClass="System.Data.Odbc.OdbcConnection"
    commandClass="System.Data.Odbc.OdbcCommand"
    parameterClass="System.Data.Odbc.OdbcParameter"
    parameterDbTypeClass="System.Data.Odbc.OdbcType"
    parameterDbTypeProperty="OdbcType"
    dataAdapterClass="System.Data.Odbc.OdbcDataAdapter"
    commandBuilderClass="System.Data.Odbc.OdbcCommandBuilder"
    usePositionalParameters="true"
    useParameterPrefixInSql="false"
    useParameterPrefixInParameter="false"
    parameterPrefix="@"
    allowMARS="false"
    />
  <provider
    name="Odbc2.0"
    description="Odbc, provider V2.0.0.0 in framework .NET V2"
    enabled="false"
    assemblyName="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    connectionClass="System.Data.Odbc.OdbcConnection"
    commandClass="System.Data.Odbc.OdbcCommand"
    parameterClass="System.Data.Odbc.OdbcParameter"
    parameterDbTypeClass="System.Data.Odbc.OdbcType"
    parameterDbTypeProperty="OdbcType"
    dataAdapterClass="System.Data.Odbc.OdbcDataAdapter"
    commandBuilderClass="System.Data.Odbc.OdbcCommandBuilder"
    usePositionalParameters="true"
    useParameterPrefixInSql="false"
    useParameterPrefixInParameter="false"
    parameterPrefix="@"
    allowMARS="false"
  />
  <provider
    name="oracle9.2"
    description="Oracle, Oracle provider V9.2.0.401"
    enabled="false"
    assemblyName="Oracle.DataAccess, Version=9.2.0.401, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionClass="Oracle.DataAccess.Client.OracleConnection"
    commandClass="Oracle.DataAccess.Client.OracleCommand"
    parameterClass="Oracle.DataAccess.Client.OracleParameter"
    parameterDbTypeClass="Oracle.DataAccess.Client.OracleDbType"
    parameterDbTypeProperty="OracleDbType"
    dataAdapterClass="Oracle.DataAccess.Client.OracleDataAdapter"
    commandBuilderClass="Oracle.DataAccess.Client.OracleCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="false"
    parameterPrefix=":"
    useDeriveParameters="false"
    allowMARS="false"
  />
  <provider
    name="oracle10.1"
    description="Oracle, oracle provider V10.1.0.301"
    enabled="false"
    assemblyName="Oracle.DataAccess, Version=10.1.0.301, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionClass="Oracle.DataAccess.Client.OracleConnection"
    commandClass="Oracle.DataAccess.Client.OracleCommand"
    parameterClass="Oracle.DataAccess.Client.OracleParameter"
    parameterDbTypeClass="Oracle.DataAccess.Client.OracleDbType"
    parameterDbTypeProperty="OracleDbType"
    dataAdapterClass="Oracle.DataAccess.Client.OracleDataAdapter"
    commandBuilderClass="Oracle.DataAccess.Client.OracleCommandBuilder"
    usePositionalParameters="true"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix=":"
    useDeriveParameters="false"
    allowMARS="false"
  />
  <provider
    name="oracleClient1.0"
    description="Oracle, Microsoft provider V1.0.5000.0"
    enabled="false"
    assemblyName="System.Data.OracleClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" connectionClass="System.Data.OracleClient.OracleConnection"
    commandClass="System.Data.OracleClient.OracleCommand"
    parameterClass="System.Data.OracleClient.OracleParameter"
    parameterDbTypeClass="System.Data.OracleClient.OracleType"
    parameterDbTypeProperty="OracleType"
    dataAdapterClass="System.Data.OracleClient.OracleDataAdapter"
    commandBuilderClass="System.Data.OracleClient.OracleCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="false"
    parameterPrefix=":"
    allowMARS="false"
  />
  <provider
    name="ByteFx"
    description="MySQL, ByteFx provider V0.7.6.15073"
    enabled="false"
    assemblyName="ByteFX.MySqlClient, Version=0.7.6.15073, Culture=neutral, PublicKeyToken=f2fef6fed1732fc1" connectionClass="ByteFX.Data.MySqlClient.MySqlConnection"
    commandClass="ByteFX.Data.MySqlClient.MySqlCommand"
    parameterClass="ByteFX.Data.MySqlClient.MySqlParameter"
    parameterDbTypeClass="ByteFX.Data.MySqlClient.MySqlDbType"
    parameterDbTypeProperty="MySqlDbType"
    dataAdapterClass="ByteFX.Data.MySqlClient.MySqlDataAdapter"
    commandBuilderClass="ByteFX.Data.MySqlClient.MySqlCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix="@"
    allowMARS="false"
  />
  <provider
    name="MySql"
    description="MySQL, MySQL provider 1.0.7.30072"
    enabled="false"
    assemblyName="MySql.Data, Version=1.0.7.30072, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionClass="MySql.Data.MySqlClient.MySqlConnection"
    commandClass="MySql.Data.MySqlClient.MySqlCommand"
    parameterClass="MySql.Data.MySqlClient.MySqlParameter"
    parameterDbTypeClass="MySql.Data.MySqlClient.MySqlDbType"
    parameterDbTypeProperty="MySqlDbType"
    dataAdapterClass="MySql.Data.MySqlClient.MySqlDataAdapter"
    commandBuilderClass="MySql.Data.MySqlClient.MySqlCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix="?"
    allowMARS="false"
  />
  <provider name="SQLite3 Finisar"
    description="SQLite, SQLite.NET provider V0.21.1869.3794"
    enabled="false"
    assemblyName="SQLite.NET, Version=0.21.1869.3794, Culture=neutral, PublicKeyToken=c273bd375e695f9c"
    connectionClass="Finisar.SQLite.SQLiteConnection"
    commandClass="Finisar.SQLite.SQLiteCommand"
    parameterClass="Finisar.SQLite.SQLiteParameter"
    parameterDbTypeClass="System.Data.DbType, System.Data"
    parameterDbTypeProperty="DbType"
    dataAdapterClass="Finisar.SQLite.SQLiteDataAdapter"
    commandBuilderClass="Finisar.SQLite.SQLiteCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix="@"
    setDbParameterPrecision="false"
    setDbParameterScale="false"
    allowMARS="false"
  />
  <provider name="SQLite3"
    description="SQLite, SQLite.NET provider V1.0.43.0"
    enabled="false"
    assemblyName="System.Data.SQLite, Version=1.0.43.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"
    connectionClass="System.Data.SQLite.SQLiteConnection"
    commandClass="System.Data.SQLite.SQLiteCommand"
    parameterClass="System.Data.SQLite.SQLiteParameter"
    parameterDbTypeClass="System.Data.SQLite.SQLiteType"
    parameterDbTypeProperty="DbType"
    dataAdapterClass="System.Data.SQLite.SQLiteDataAdapter"
    commandBuilderClass="System.Data.SQLite.SQLiteCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix="@"
    setDbParameterPrecision="false"
    setDbParameterScale="false"
    allowMARS="false"
  />
  <provider
    name="Firebird1.7"
    description="Firebird, Firebird SQL .NET provider V1.7.0.33200"
    enabled="false"
    assemblyName="FirebirdSql.Data.Firebird, Version=1.7.0.33200, Culture=neutral, PublicKeyToken=fa843d180294369d" connectionClass="FirebirdSql.Data.Firebird.FbConnection"
    commandClass="FirebirdSql.Data.Firebird.FbCommand"
    parameterClass="FirebirdSql.Data.Firebird.FbParameter"
    parameterDbTypeClass="FirebirdSql.Data.Firebird.FbDbType"
    parameterDbTypeProperty="FbDbType"
    dataAdapterClass="FirebirdSql.Data.Firebird.FbDataAdapter"
    commandBuilderClass="FirebirdSql.Data.Firebird.FbCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix="@"
    allowMARS="false"
  />
  <provider
    name="PostgreSql0.99.1.0"
    description="PostgreSql, Npgsql provider V0.99.1.0"
    enabled="false"
    assemblyName="Npgsql, Version=0.99.1.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7"
    connectionClass="Npgsql.NpgsqlConnection"
    commandClass="Npgsql.NpgsqlCommand"
    parameterClass="Npgsql.NpgsqlParameter"
    parameterDbTypeClass="NpgsqlTypes.NpgsqlDbType"
    parameterDbTypeProperty="NpgsqlDbType"
    dataAdapterClass="Npgsql.NpgsqlDataAdapter"
    commandBuilderClass="Npgsql.NpgsqlCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix=":"
    allowMARS="true"
  />
  <provider
    name="iDb2.10"
    description="IBM DB2 Provider, V 10.0"
    enabled="false"
    assemblyName="IBM.Data.DB2.iSeries, Version=10.0.0.0,Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26, Custom=null" connectionClass="IBM.Data.DB2.iSeries.iDB2Connection"
    commandClass="IBM.Data.DB2.iSeries.iDB2Command"
    parameterClass="IBM.Data.DB2.iSeries.iDB2Parameter"
    parameterDbTypeClass="IBM.Data.DB2.iSeries.iDB2DbType"
    parameterDbTypeProperty="iDB2DbType"
    dataAdapterClass="IBM.Data.DB2.iSeries.iDB2DataAdapter"
    commandBuilderClass="IBM.Data.DB2.iSeries.iDB2CommandBuilder"
    usePositionalParameters="true"
    useParameterPrefixInSql="false"
    useParameterPrefixInParameter="false"
    parameterPrefix=""
    allowMARS="false"
  />
  <provider
    name="Informix"
    description="Informix NET Provider, 2.81.0.0"
    enabled="false"
    assemblyName="IBM.Data.Informix, Version=2.81.0.0, Culture=neutral, PublicKeyToken=7c307b91aa13d208"
    connectionClass="IBM.Data.Informix.IfxConnection"
    commandClass="IBM.Data.Informix.IfxCommand"
    parameterClass="IBM.Data.Informix.IfxParameter"
    parameterDbTypeClass="IBM.Data.Informix.IfxType"
    parameterDbTypeProperty="IfxType"
    dataAdapterClass="IBM.Data.Informix.IfxDataAdapter"
    commandBuilderClass="IBM.Data.Informix.IfxCommandBuilder"
    usePositionalParameters = "true"
    useParameterPrefixInSql = "false"
    useParameterPrefixInParameter = "false"
    useDeriveParameters="false"
    allowMARS="false"
    />
</providers>
View Code

SqlMap.config  代码附上  (需要注意的有provider配置文件位置、数据库连接字符串provider的name及dataSource的连接字符串、映射文件的位置既XML)

<?xml version="1.0" encoding="utf-8" ?>

<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  
  <!--<properties resource="../../../properties.config"/>这个东西是变量用的,这里以最简单的实现说明,因此注释-->

  <settings>
    <setting useStatementNamespaces="false"/>
  </settings>
  <!--provider配置文件位置-->
  <providers resource="Provider.config"/>

  <!--数据库连接字符串-->
  <database>
    <provider name="sqlServer4.0"/>
    <!--<dataSource name="TestDB" connectionString="Data Source=DESKTOP-V0V6TJ9MSSQLSERVER2016;Initial Catalog=TextDB;Integrated Security=True;User ID=sa;Password=123;Max Pool Size=512;Connection Timeout=60"/>-->
    <dataSource name="TestDB" connectionString="Data Source=DESKTOP-V0V6TJ9MSSQLSERVER2016;Initial Catalog=TextDB;Persist Security Info=True;User ID=sa;Password=123;"/>
  </database>

  <sqlMaps>
    <sqlMap resource="Student.xml" />
    <!--这个是指定映射文件的位置-->
  </sqlMaps>
</sqlMapConfig>
View Code

 Student.xml  代码附上 (自己配置)

<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="Ibatis" xmlns="http://ibatis.apache.org/mapping" xmlns:xls="http://www.w3.org/2001/XMLSchema-instance">
  <resultMap id="SelectAllStudent" class="StudentModel">
    <result property="Id" column="Id"/>
    <result property="Name" column="Name"/>
  </resultMap>
  <statements>
    <select id="SelectAllStudent" resultClass="Ibatis.Net.Domain.StudentModel">
      <!--这个Id在程序中会用到,resultClass是类所在的程序位置(带命名空间)-->
      select * from Students
    </select>
    <insert id ="InsertStudent"  resultClass="Ibatis.Net.Domain.StudentModel" >
        insert into students values(#Name#)
    </insert>
    <update id ="UpdateStudent"  resultClass="Ibatis.Net.Domain.StudentModel" >
       update students set name = #Name# where id  = #Id#
    </update>
    <delete id ="DeleteStudent"  resultClass="Ibatis.Net.Domain.StudentModel" >
        delete students where id = #Id#
    </delete>
  </statements>
</sqlMap>
View Code

StudentModel.cs 代码附上

public class StudentModel
    {
        public int Id { get; set; }

        public string Name { get; set; }
    }

StudentDao.cs  代码附上

public class StudentDao
    {
        public IList<StudentModel> GetList()
        {

            ISqlMapper mapper = Mapper.Instance();
            //查询数据  这个"SelectAllPerson"就是xml映射文件的Id
            IList<StudentModel> ListStudents = mapper.QueryForList<StudentModel>("SelectAllStudent", null);

            return ListStudents;
        }

        public void AddList(string name)
        {
            StudentModel student = new StudentModel();
            student.Name = name;
            object abc = Getmapper().Insert("InsertStudent", student);
        }

        public bool UpdateList(int id, string name)
        {
            StudentModel student = new StudentModel();
            student.Id = id;
            student.Name = name;
            return Getmapper().Update("UpdateStudent", student) > 0 ? true : false;
        }

        public bool DeleteList(int id)
        {
            StudentModel student = new StudentModel();
            student.Id = id;
            return Getmapper().Delete("DeleteStudent", student) > 0 ? true : false;
        }
        
        public ISqlMapper Getmapper()
        {
            DomSqlMapBuilder builder = new DomSqlMapBuilder();
            ISqlMapper map = builder.Configure("SqlMap.config");
            return map;
        }
    }
View Code

Program.cs 代码附上  (测试代码)

class Program
    {
        static void Main(string[] args)
        {
            //初始状态
            int status = 0;

            //操作
            while (status >= 0)
            {
                Console.WriteLine("");
                Console.WriteLine("请输入指令:1、查询  2、增加  3、修改  4、删除  5、退出 !");

                int num = Convert.ToInt32(Console.ReadLine());
                switch (num)
                {
                    case 1:
                        //查询方法
                        SearchList();
                        break;
                    case 2:
                        Console.WriteLine("请输入姓名!");
                        string strName = Console.ReadLine();

                        //增加方法
                        AddList(strName);
                        break;
                    case 3:
                        //修改方法
                        Console.WriteLine("请输入要修改的Id!");
                        int id = Convert.ToInt32(Console.ReadLine());
                        Console.WriteLine("请输入新名字");
                        string name = Console.ReadLine();
                        UpdateList(id, name);
                        break;
                    case 4:
                        //删除方法
                        Console.WriteLine("请输入要删除的Id!");
                        int idcopy = Convert.ToInt32(Console.ReadLine());
                        DeleteList(idcopy);
                        break;
                    case 5:
                        status = -1;
                        break;
                    default:
                        Console.WriteLine("指令输入错误!");
                        break;

                }


            }
            Environment.Exit(0);

            //Console.ReadKey();
        }
        //创建Dao类
        static StudentDao dao = new StudentDao();
        public static void SearchList()
        {
            //查询数据
            IList<StudentModel> ListPerson = dao.GetList();
            foreach (StudentModel p in ListPerson)
            {
                Console.WriteLine(p.Id + p.Name);
            }
        }

        public static void AddList(string name)
        {
            //添加数据
            dao.AddList(name);
        }

        public static void UpdateList(int id, string name)
        {
            //修改数据
            if (dao.UpdateList(id, name))
            {
                Console.WriteLine("修改成功!");
            }
            else
            {
                Console.WriteLine("修改失败!");
            };
        }

        public static void DeleteList(int id)
        {
            //删除数据
            if (dao.DeleteList(id))
            {
                Console.WriteLine("删除成功!");
            }
            else
            {
                Console.WriteLine("删除失败!");
            };

        }
    }
View Code

 3、数据库  库名TextDB

注:如果中间出现问题,报异常了,自己写个try catch,查看一下详细信息(重点看的几个属性InnerException、Message、StackTrace),具体了解到哪里出错进行修改!

原文地址:https://www.cnblogs.com/MycnBlogs7854/p/8676121.html