支持MySQL数据库,SPL升级到3.2 |
本文标签:MySQL数据库 此文章主要讲述的是SPL升级到3.2全面支持MySQL数据库的实际应用与具体操作,如果你是MySQL数据库方面的新手,对MySQL数据库的相关实际应用不是很了解的话,以下的文章会给你提供更全面的知识 。 SPL从上次的3.1.0.5开始,经过了一段时间,积累了一些修改并进行了MySQL数据库的支持,现在发布SPL版本为3.2.0.4,Dll下载地址:这里 。只需要在项目中,把原来的Dll覆盖即可,如果还没下载过SPL早期版本的朋友,本次SPL自上次发布的3.1.0.5以后进行的更新有: 1、支持MS SQL SERVER中的Bit型数据类型 映射到ClassMap中的类型为boolean,如:
对应的实体类类型为bool型,如:
在查询时可以通过Condition进行比较判断了:
这会最终生成 IsOver=0的查询条件 2、提供了对数据源的提供者类型的判断,这将方便区分不同的MySQL数据库提供者手动组装不同的SQL语句 用Setting.Instance().GetDatabaseVendor(dbName)根据dbName数据源取得数据源提供者,然后与DatabaseVendor枚举型比较 如Access的日期比较与Sql Server的不一致:一个采用#号,一个采用号
这个功能将为系统对多种MySQL数据库的支持最佳的灵活性,虽然SPL本身的“实体”与“标准”都可以区分不同的数据源提供者,但在需要手写SQL的地方,也需要根据不同的数据源提供者提供不同的语句执行 3、修订了对所有保留字的兼容性 目前对所有的SPL中的操作,都加了定界符,ORACLE采用“"”号,MS的采用“[]”号,MySql的采用“`”号,所有测试都通过了 4、在Condition里添加了对Null值的查询功能 此方式只针对AddEqualTo()和AddNotEqualTo()有效:
5、增加了对MySql数据库的支持 SPL对MySql的访问连接采用的是MySql提供的专用.NET connector,此驱动应该说是目前.NET连接MySql的最佳选择,在使用SPL访问MySql时,只需要安装一下此驱动即可,下载与介绍请看
只需这里配置后,SPL在具体应用中与其他的完全一样,测试情况: 实体测试--->通过 RetrieveCriteira、UpdateCriteria、DeleteCriteria测试--->通过 Transaction测试--->通过 自动增长主键测试--->通过 TOP功能测试--->通过 6、对DateTime的Null值进行了处理 (3.2.0.1开始支持) 如果要对DateTime类型的字段赋于Null值,只需要使用DateTime.MinValue即可: aEntity.CreateDate=DateTime.MinValue; 在SPL内部会判断如果DateTime.MinValue的话,自动保存到MySQL数据库为System.DBNull.Value,这就解决了不能给 DateTime类型直接赋于System.DBNull.Value的问题 。 7、修订了UpdateCriteria对属性名与字段名不一致时导致的错误(3.2.0.2开始修订) 原来在UpdateCriteira时没有对属性进行转化为字段名,导致在属性名与字段名不一致的情况下会找不到字段 。 (非常感谢iamsunrise提供的建议,请下载了SPL3.2的朋友重新下载一下) 8、本3.2.0.4已经修复了DataBaseType的MySql类型了 。 |