MyBatis.Net使用入门(一)

MyBatis.Net入门之基础配置(一) 1,安装IBatis.Net包 2,建立测试模型 namespace Demo.Demo8 { public class ceshi1 { public string a { get; set; } public string b { get; set; } } } 3,配置文件 3.1,SqlMap.config <?xml ver... 阅读详情

首先Models层模型如下:

QueryUsageLog.cs,UsageLog.cs和UserInfo.cs

 public class QueryUsageLog
    {
        public string SessionId { get; set; }
        public DateTime StartDate  { get; set; }
        public DateTime EndDate { get; set; }
        public string MachineName { get; set; }
        public string LoginAccount { get; set; }
    }
  public class UsageLog
    {
        public int Id { get; set; }
        public string SessionId { get; set; }
        public DateTime TimeStamp { get; set; }
        public string LoginAccount { get; set; }
        public string MachineName { get; set; }
        public string TypeName { get; set; }
        public string MethodName { get; set; }
        public string Arguments { get; set; }
        public string LogMessage { get; set; }
        public string ErrorMessage { get; set; }
    }
public class UserInfo
    {
        public string UserId { get; set; }
        public string ProductId { get; set; }
    }
DBConfig文件夹全是配置文件,在bin目录

文件夹下有5个配置文件,properties.config是连接字符串属性文件:

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
  <add key="datasource" value="W-PC"/>
  <add key="userid" value="sa"/>
  <add key="password" value="12345"/>
  <add key="database" value="ManagerResearchLog"/>
</appSettings>

providers.config是数据库提供程序配置:

<?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="sqlServer2.0"
    enabled="true"
    default="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="true"
    />
 
  <provider
    name="sqlServer2008"
    enabled="true"
    default="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="true"
    /> 
</providers>

sqlFile.xml是数据与实体映射的配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="TestApp" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  <alias>
    <typeAlias alias="UsageLog" type="Models.UsageLog, Models"/>
    <typeAlias alias="QueryUsageLog" type="Models.QueryUsageLog, Models"/>
    <typeAlias alias="UserInfo" type="Models.UserInfo, Models"/>
  </alias>
  <resultMaps>
    <resultMap id="SelectAllUsageResult" class="UsageLog">
      <result property="Id" column="Id"/>
      <result property="SessionId" column="SessionId"/>
      <result property="TimeStamp" column="TimeStamp"/>
      <result property="LoginAccount" column="LoginAccount"/>
      <result property="MachineName" column="MachineName"/>
      <result property="TypeName" column="TypeName"/>
      <result property="MethodName" column="MethodName"/>
      <result property="Arguments" column="Arguments"/>
      <result property="LogMessage" column="LogMessage"/>
      <result property="ErrorMessage" column="ErrorMessage"/>
    </resultMap>
  </resultMaps>
  <parameterMaps>
    <parameterMap id="queryUsageLog" class="QueryUsageLog">
      <parameter property="SessionId" column="SessionId"/>
      <parameter property="StartDate" column="StartDate"/>
      <parameter property="EndDate" column="EndDate"/>
      <parameter property="MachineName" column="MachineName"/>
      <parameter property="LoginAccount" column="LoginAccount"/>
    </parameterMap>
    <parameterMap id="userInfo" class="UserInfo">
      <parameter property="UserId" column="UserId"/>
      <parameter property="ProductId" column="ProductId"/>
    </parameterMap>
  </parameterMaps>
  <statements>
    <!--<statement id="FindPageId" parameterClass="System.String" resultClass="System.Guid" >
      SELECT Top(1) PageId
      FROM tpzPages
      WHERE FriendlyName =  #value#
    </statement>-->
    <statement id="FindSessionId" parameterClass="System.String" resultClass="System.String" >
      SELECT Top(1) SessionId
      FROM MRUsageLog
      WHERE LoginAccount =  #value#
    </statement>
    <statement id="SelectUsageLog" resultMap="SelectAllUsageResult">
      select
      Id,
      SessionId,
      TimeStamp,
      LoginAccount,
      MachineName,
      TypeName,
      MethodName,
      Arguments,
      LogMessage,
      ErrorMessage
      from MRUsageLog
    </statement>
  <procedure id="GetUsageLog" parameterMap="queryUsageLog" resultMap="SelectAllUsageResult">
    GetUsageLog
  </procedure>
    <procedure id="GetUserSettings" parameterMap="userInfo" resultClass="string">
      Usr_GetUserSettings
    </procedure>
  </statements>
</sqlMap>

SqlMap.config全局配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <properties>
    <property resource="DBConfig\properties.config"/>
  </properties>
  <settings>
    <setting useStatementNamespaces="false" />
    <setting cacheModelsEnabled="true" />
    <setting validateSqlMap="true" />
  </settings>

  <!--db provider配置文件路径-->
  <providers resource="DBConfig\providers.config"/>

  <!--db provider类型及连接串-->
  <database>
    <provider name="sqlServer2008" />
    <dataSource name="settingDB" connectionString="Data Source=${datasource};User Id=${userid};PWD=${password};Initial Catalog=${database}"/>
  </database>

  <!--db与Entity的映射文件-->
  <sqlMaps>
    <sqlMap resource="DBConfig\sqlFile.xml" />
  </sqlMaps>
</sqlMapConfig>
数据访问层的MyBatisHelper.cs代码:

public sealed class MyBatisHelper
    {
        private static volatile ISqlMapper mapper = null;

        private static string GetConfigPath()
        {
            //string baseDir = AppDomain.CurrentDomain.BaseDirectory; 
            string baseDir = Path.GetFullPath(@"../../"); ; 
            
            return baseDir + ConfigurationManager.AppSettings["DBConfig"];
        }

        public static void Configure(object obj)
        {
            mapper = (ISqlMapper) obj;
        }

        public static void InitMapper()
        {
            string configPath = GetConfigPath();
            ConfigureHandler hanlder = new ConfigureHandler(Configure);

            DomSqlMapBuilder builder = new DomSqlMapBuilder();
            mapper = builder.ConfigureAndWatch(configPath, hanlder);
        }

        public static ISqlMapper Instance
        {
            get
            {
                try
                {
                    if (mapper == null)
                    {
                        lock (typeof (SqlMapper))
                        {
                            if (mapper == null)
                            {
                                InitMapper();
                            }
                        }
                    }
                    return mapper;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }

        public static T QueryForObject<T>(string statementName, object parameterObject)
        {
            T result = default(T);
            try
            {
                result = Instance.QueryForObject<T>(statementName, parameterObject);
                return result;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static T QueryForList<T>(string statementName, object parameterObject)
        {
            T result = default(T);
            try
            {
                result= Instance.QueryForObject<T>(statementName, parameterObject);
                return result;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
控制台应用程序app.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
    </sectionGroup>

    <sectionGroup name="iBATIS">
      <section name="logging" type="IBatisNet.Common.Logging.ConfigurationSectionHandler, IBatisNet.Common" />
    </sectionGroup>
  </configSections>

  <iBATIS>
    <logging> 
      <logFactoryAdapter type="IBatisNet.Common.Logging.Impl.Log4NetLoggerFA, IBatisNet.Common.Logging.Log4Net">
        <arg key="configType" value="external" />
      </logFactoryAdapter>
    </logging>
  </iBATIS>

  <appSettings>
    <add key="DBConfig" value="DBConfig\SqlMap.config" />
  </appSettings>
  
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>
Program.cs的代码如下:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Diagnostics;
using DO.SLM.DataAccess;
using IBatisNet.DataMapper;
using Models;
using log4net.Config;
using System.IO;

namespace ConsoleApplication1
{
    public class Program
    {

        private static void Main(string[] args)
        {
            var logConfig = new FileInfo(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "log4net.config");
            XmlConfigurator.ConfigureAndWatch(logConfig);

            //stADODatabase();
            //ar ret = testUserDataBase();
            //Console.WriteLine(ret);
            testMyBatisHelper();
 
            Console.Read();
        }  

        public static void testMyBatisHelper()
        {
            string rest = MyBatisHelper.QueryForObject<string>("FindSessionId", "zxi");
            var allLog = MyBatisHelper.QueryForList<UsageLog>("SelectUsageLog", null);

            QueryUsageLog queryUsageLog = new QueryUsageLog
            {
                StartDate = new DateTime(2012, 9, 1),
                EndDate = new DateTime(2016, 9, 15)
            };
            var queryLog = MyBatisHelper.QueryForList<UsageLog>("GetUsageLog", queryUsageLog);

            Console.WriteLine("FindSessionId: " + rest);
            Console.WriteLine(allLog.SessionId);
            Console.WriteLine(queryLog.SessionId);
        
        }

        public static string testUserDataBase()
        {
            UserInfo userInfo = new UserInfo
            {
                UserId = "09b7e0f3-d9f9-45c3-8f38-52436e85809c",
                ProductId = "2262e3b5-8f49-49c2-9a39-5099fc3b1435"
            };
            string rest = "";
            try
            {
                rest = MyBatisHelper.QueryForObject<string>("GetUserSettings", userInfo);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }
            return rest;
        }
 
        public static void testADODatabase()
        {
            string connString = @"Data Source=Adaccessqadb1;User Id=msdomain1;PWD=1344444;Initial Catalog=Users";
            try
            {
                using (SqlConnection sqlConnection = new SqlConnection(connString))
                {
                    sqlConnection.Open();
                    SqlCommand cmd = new SqlCommand("dbo.Usr_GetUserSettings", sqlConnection);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter("@UserId", "09b7e0f3-d9f9-45c3-8f38-52436e85809c"));
                    cmd.Parameters.Add(new SqlParameter("@ProductId", "2262e3b5-8f49-49c2-9a39-5099fc3b1435"));
                    SqlDataReader dbReader = cmd.ExecuteReader();

                    while (dbReader.Read())
                    {
                        Console.WriteLine(dbReader["Settings"]);
                    }
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
                throw;
            }
        }


        public static ISqlMapper EntityMapper
        {
            get
            {
                try
                {
                    //得到由SqlMap.Config文件中定义的SqlMapper的实例。
                    ISqlMapper mapper = Mapper.Instance();

                    //第二种方法
                    //用于创建连接的连接字符串
                    //mapper.DataSource.ConnectionString = @"data source=qq\SQLEXPRESS;User ID=wu;PWD=11111;Initial Catalog=ManagerResearchLog";
                    return mapper;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        } 
    }
}
log4Net.config配置文件放到bin目录下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net"
             type="log4net.Config.Log4NetConfigurationSectionHandler, log4net, Version=1.2.10.0, Culture=Neutral, PublicKeyToken=bf100aa01a5c2784" />
  </configSections>

  <appSettings>
    <add key="log4net.Internal.Debug" value="true"/> 
  </appSettings>

  
  <log4net>
    <appender name="IBatisLogFile" type="log4net.Appender.RollingFileAppender">
      <file value="Logs\iBatis.log" />
      <appendToFile value="true" />
      <datePattern value="yyyy-MM-dd" />
      <rollingStyle value="Date" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <header value="[Header]
" />
        <footer value="[Footer]
" />
        <conversionPattern value="%date{dd/MM/yyyy-HH:mm:ss} %m%newline%exception" />
      </layout>
    </appender>

    <appender name="IBatisMapperLogFile" type="log4net.Appender.RollingFileAppender">
      <file value="Logs\iBatisMapper.log" />
      <appendToFile value="true" />
      <datePattern value="yyyy-MM-dd" />
      <rollingStyle value="Date" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{dd/MM/yyyy-HH:mm:ss} %m%newline%exception" />
      </layout>
    </appender>

    <appender name="IBatisCacheLogFile" type="log4net.Appender.RollingFileAppender">
      <file value="Logs\iBatisChache.log" />
      <appendToFile value="true" />
      <datePattern value="yyyy-MM-dd" />
      <rollingStyle value="Date" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{dd/MM/yyyy-HH:mm:ss} %m%newline%exception" />
      </layout>
    </appender>
    
    <logger name="IBatisNet">
      <level value="ALL"/>
      <appender-ref ref="IBatisLogFile" />
    </logger>

    <logger name="IBatisNet.DataMapper">
      <level value="ALL"/>
      <appender-ref ref="IBatisMapperLogFile" />
    </logger>
  </log4net>
</configuration>
结果如图:



SQL脚本:

USE [ManagerResearchLog]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[MRUsageLog](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[SessionId] [varchar](50) NULL,
	[TimeStamp] [datetime] NOT NULL,
	[LoginAccount] [varchar](50) NULL,
	[MachineName] [varchar](50) NULL,
	[TypeName] [varchar](50) NULL,
	[MethodName] [varchar](50) NULL,
	[Arguments] [varchar](50) NULL,
	[LogMessage] [varchar](200) NULL,
	[ErrorMessage] [varchar](200) NULL,
 CONSTRAINT [PK__MRUsageL__3214EC077F60ED59] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY],
 CONSTRAINT [UQ__MRUsageL__C9F49291023D5A04] UNIQUE NONCLUSTERED 
(
	[SessionId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO









在ASP.NET中配置MyBatis开发环境 NuGet是.NET的包管理器,它简化了.NET项目中库和组件的发现、下载、安装、升级过程。作为一个开源项目,NuGet为开发者提供了一个标准化的框架,用以发布和下载代码库、项目模板和其他类型的工具。NuGet支持广泛的.NET项目类型,包括传统的.NET Framework项目、跨平台的.NET Core应用以及ASP.NET项目等。它的重要性在于,通过减少重复性工作,提高开发效率,同时提供依赖管理和更新机制,确保项目中使用的库是最新的,同时减少安全风险。 阅读详情

相关推荐

Claude Code vs Codex

Claude Code 提供了一个生产就绪(production-ready)的实现,包含良好的错误处理、优雅的关闭逻辑、详细注释和文档,以及内置测试。Claude Code 输出了一个可运行的 Next.js + TypeScript 前端,但错过了一些设计里的黄色主题元素;Codex 则生成自己的版本,没有导出设计中的图片,也没严格遵照设计主题。Codex 完成同样功能,但更简洁直接,文档和注释少一些但功能达标。任务都用同样的提示,使用 TypeScript 实现,并在一天内完成。

weixin_49869937的博客 2382

Mybatis-Plus eq、ne、gt、lt、ge、le分别代表含义

Mybatis-Plus eq、ne、gt、lt、ge、le分别代表含义 eq 就是 equal等于 ne就是 not equal不等于 gt 就是 greater than大于 lt 就是 less than小于 ge 就是 greater than or equal 大于等于 le 就是 less than or equal 小于等于 in 就是 in 包含(数组) isNull 就是 等于null between 就是 在2个条件之间(包括边界值) like就是 模糊查询 ...

segegefe的博客 1万+

2024年全国大学生电子设计竞赛A题_AC-AC变换电路并联运行

AC-AC变换电路并联运行(A 题)【本科组】

qq_74395263的博客 7832

mybatis中的lt、le、eq、ne、ge、gt

问题主要是出在 end_time 参数中,该参数得条件应该用括号包裹,即 (end_time IS NULL OR end_time

qq_59833893的博客 1万+

Ansys Lumerical | 薄膜铌酸锂电光调制器的仿真与优化

本文详细介绍了使用Ansys Lumerical进行薄膜铌酸锂电光调制器仿真与优化的全流程。从基础原理到电学仿真、光学模拟技巧,再到设计优化实战经验,帮助工程师掌握这一先进光电器件的仿真方法。重点解析了薄膜铌酸锂的Pockels效应和Mach-Zehnder结构设计,并提供了常见问题排查指南和最新发展动态。

vulkan6gpu的博客 1195

AVEVA PDMS 二次开发之PML实战:从宏到自定义窗体的效率提升

本文详细介绍了AVEVA PDMS二次开发中PML语言的应用,从基础宏编写到高级窗体开发,全面提升工程设计效率。通过实战案例展示如何利用PML实现批量操作、流程自动化和交互优化,帮助工程师快速掌握这一强大工具。

weixin_42549451的博客 338

2021-08-04Java Mybatis-Plus命令里面的EQ、NE、GT、LT、GE、LE分别代表含义

EQ 就是 EQUAL等于 NE就是 NOT EQUAL不等于 GT 就是 GREATER THAN大于  LT 就是 LESS THAN小于 GE 就是 GREATER THAN OR EQUAL 大于等于 LE 就是 LESS THAN OR EQUAL 小于等于

m0_55548657的博客 4494

【雷达】一维和二维自适应波束形成(DBF))DBF附matlab代码

1 简介 数字波束形成技术是天线波束形成原理与数字信号处理技术相结合的产物,其广泛应用于阵列信号处理领域.由于电磁工作环境的恶化和大量射频干扰的存在,在极低的信干噪比(SINR)条件下进行目标检测和信息提取十分困难.对于阵列系统,往往采用自适应数字波束形成(ADBF)技术,来抑制强干扰和方向性干扰对有用信号的影响.介绍了数字波束形成器的基本原理及其DSP的实现结构.​ 2 完整代码 clc;clear all;close all;%%%%%%%%%%%%%%%%%一维DBF%%%%%%%%%%%%%

qq_59747472的博客 7265

Mybatis-Plus eq、ne、gt、lt、ge、le等等的标签符号的含义

Mybatis-Plus eq、ne、gt、lt、ge、le等等的标签符号的含义

bluesease的博客 1万+

物联网系列③——基于ESP8266与点灯科技平台的温湿度计设计(接入小爱同学)

物联网系列③——基于ESP8266与点灯科技平台的温湿度计设计(接入小爱同学)一、设计目标二、电路展示三、存在的问题四、代码五、需要注意的问题 一、设计目标       前一阵子偶然接触到点灯科技平台,产生了制作一块ESP8266电路板,拥有以下功能: 使用CH340对ESP8266进行程序下载 使用DHT11进行温湿度数据读取 使用点灯科技平台接入物联网,可通过手机APP获得室内温湿度 接入小爱同学,通过语音获取室内温湿度信息 Mico US

weixin_43278295的博客 8852

ESP32 WIFI 智能巡线小车设计与实现(四足 / 四轮通用)

本文设计的 ESP32 WIFI 智能巡线小车,硬件模块化、软件轻量化,兼容四足与四轮两种结构,实现了自动巡线与 WIFI 远程控制双功能。系统成本低、易上手,适合嵌入式初学者学习 WIFI 通信、传感器应用、运动控制等核心知识点,也可在此基础上扩展蓝牙控制、避障、视觉识别等功能。

weixin_42300449的博客 151

net搭建mybatis开发环境

mybatis其实就是ibatis的升级版本不仅能在java上使用,asp.net照样可以使用mybatis来开发程序。mybatis是一个比较小巧的ORM框架,类似hibernate。自己试了一下用法和java上的mybatis差不多。这次在.net的平台上我也来小试牛刀,弄个小程序出来看看,开发之前要去mybatis官网上下载2个包。 1.asp.net版本的mybatis下载地址是http...

我的优快云博客之家 2198

从 SOAUTH2 到系统用户,SAP AS ABAP 里配置 OAuth 2.0 Client 的完整落地思路

SAP OAuth 2.0客户端配置的核心在于建立系统级信任关系。在AS ABAP中,每个OAuth 2.0客户端必须关联一个System类型的用户账号(通过SU01创建),并建议采用业务语义明确的命名规范(如ZBTP_PO_APPROVAL_APP)。关键配置包括:客户端认证方式(推荐SSL证书而非共享密钥)、Token生命周期(默认3600秒)、Scope访问范围,以及根据应用场景选择Authorization Code或SAML 2.0 Bearer等授权模式。项目实践中应避免混合配置不同授权类型,而

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 984

mybatis mysql net教程_MyBatis入门学习教程(一)-MyBatis快速入门

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Acce...

weixin_30774813的博客 137

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

.Net转Java自学之路—Mybatis框架篇一(入门)

原生态JDBC程序问题总结:   1、数据库连接,使用时就创建,不使用立即释放。该操作是对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能。    解决:使用数据库连接池管理数据库连接。   2、将sql语句硬编码到java代码中,若sql语句修改,需要重新编译java代码,不利于维护。    解决:将sql语句配置在xml配置文件中,即使sql变化,也不需要对java代码进行...

weixin_33826609的博客 229

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C#使用mybatis学习笔记

1、官网:http://mybatis.org/index.html 2、代码:https://code.google.com/p/mybatisnet/ 3、wiki:http://zh.wikipedia.org/zh/IBATIS 4、入门:http://www.cnblogs.com/yjmyzz/p/3362343.html 5、资料:http://www.cnblogs.com...

weixin_30666943的博客 240

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.....

(其实很奇怪,我一开始跟着视频导入的5.1.46依赖,xml里面也没异常,但后面找这里才发现根本就没导入成功,导入8.0.30就成功了)2.一般做完第一步如果其他配置没有问题的话就可以了,但我又出现了java.net.UnknownHostException。这种省略了localhost:3306的写法一定要三条/,否则就老老实实写,结束。1.检查依赖中有没有成功导入MySQL驱动的jar包。在写mybatis入门时遇到的报错。

Valeera181的博客 356

Mybatis.NET入门学习

MyBatis是一个数据映射工具。 它将包括存储过程的数据库查询的列映射到业务对象的属性。 映射器的一个定义是“在两个独立对象之间建立通信的对象。 数据映射器是“映射器层,用于在对象和数据库之间移动数据,同时使它们彼此之间以及映射器本身保持独立。 为什么? .NET platform already provides a capable library for accessing databases, whether through SQL statements or stored procedures b

极客神殿 3635

学习MyBatis.Net 之路(一)

MyBatis.NET的前身为IBatis,是JAVA版MyBatis在.NET平台上的翻版,相对NHibernate、EntityFramework等重量级ORM框架而言,MyBatis.NET必须由开发人员手动写SQL,相对灵活性更大,更容易保证DB访问的性能,适用开发团队里有SQL熟手的场景。下面是使用步骤: 1.到官网http://code.google.com/p/mybatisnet/

qq_34057374的博客 1926

对于Mybatis在C#.Net中个人使用的总结(一) Mybatis 的结果映射

(图片中的文字上传之后就都看不清,我再图片的下边会用斜体字标清) 首先我在项目中使用Mybatis 是用XML完成映射的。至于XML这门语言,其实很简单的(对于入门来说,因为我是刚入门哈~),如果你还不是很了解,可以去下载一本《无废话XML》台湾人写的,总体来说 内容很紧凑,非常适合入门。好接下来转入正题: 大致氛围这四个部分一般来说前两个部分写好之后就不会再改变了 后两个则根据具...

weixin_30512089的博客 878

MyBatis.Net系列

简介 教程 第一章:MyBatis.Net入门之基础配置(一) 第二章:MyBatis.Net入门之指定配置文件位置及多类型数据库支持(二) 第三章:MyBatis.Net入门之增删改查及事务支持(三) ...

博客 811

Mybatis.net + Mysql

安装时,尽量不要选择太高的版本,否则有可能跟已有的.NET Framework 版本不匹配。安装完成后,在管理器中的引用列表中,会多出来一个引用文件:Mysql.Data文件。安装完成后,会显示在,在已安装页面。同时,在管理器中的引用列表中,会多出来两个引用文件。设置完成后,邮件Providers.config文件,选择属性,进行设置。与Providers.config相同的创建步骤。Controller层(应用层)注意,此处我使用的是Mysql,Mapper层(也叫DAO层)映射层Mapper.xml。

Sucker的小笔记 1106

MyBatis简单例子快速入门

一、理解什么是MyBatis?   MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索。 MyBatis 可以使用简单的XML 或注解用于配置和原始映射,将接口和 Java 的 POJO( Plain Old Java Objects,普通的Java 对象)映射成数据库中的记录。 MyBATIS 目前提供了三种语言实现的版本,包括:Java、.NET以及Ruby。 它提供的持久层框架包括SQL

小强签名设计 的博客 596

MyBatis.Net使用入门(三)

项目结构如下 Bookcs模型 Bookxml映射配置文件 日志配置文件log4netxml 数据库提供程序配置providersconfig Mybatis全局配置文件SqlMapconfig Programcs的入口程序 frmBookDetail窗体后台代码 frmBookView窗体后台代码 运行结果如图搜索结果 查看详细 更新数据 删除数据 其他相关文章项目结构如下:Book.cs模型:

极客神殿 1万+

有类似mybatis的框架吗_Mybatis入门看这一篇就够了

什么是MyBatisMyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。是一个基于Java的持久层框架为什么我们要用Mybatis?无论是Mybatis、Hibernate都是ORM的一种实现框架,都是对JDBC的一种封装!到目前为止,我们已经在持久层中学了...

weixin_34797253的博客 1740

MyBatis.Net使用入门(二)

MyBatis使用入门(二)EntityModel模型层的类Customer.cs和Product.cs代码如下: public class Customer { public int CustomerID { get; set; } public string CustomerName { get; set; } public bool

极客神殿 4155
上一篇: IoC容器Autofac使用入门(三)
下一篇: javascript遍历json对象的key和任意js对象属性
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值