zoukankan      html  css  js  c++  java
  • iBATIS.net开发的第一个web实例

    这是我用iBATIS.net开发的第一个web实例,参考网上资料自己改进实现的。其实,除了配置和写sql之外,调用iBATIS.net对于开发人员是非常省事的。下面我会从配置和使用过程中遇到的问题讲解我的使用心得。
    1、如何使用iBATIS.net
    (1)、新建一个解决方案叫IBatisNetDemo,里面包含两个工程,一个是IBatisWeb,你可以把它理解为三层中的表现层;还有一个工程叫IBatisNetDemo,它主要是引用iBatis.net的相关类库实现业务逻辑的,所以你也可以把它当做业务逻辑层来对待。至于数据层在哪里?读者可能已经想到,iBatis.net已经帮我们封装好了数据处理底层的东东,所以iBATIS.net的几个相关类库我们就完全可以理解为数据层。这样,一个经典三层架构就搭建好了。
    (2)、IBatisNetDemo工程下,我们引用了IBatisNet.Common和IBatisNet.DataMapper两个类库(关于公共类库,放在一个公共文件夹Sharelibs下,文章最下面我会给出Demo下载链接),接着按照一般步骤写配置文件和实现代码(我会在“注意点”里详细讲解这个过程)。
    (3)IBatisWeb工程是一个web项目,它引入了IBatisNetDemo工程。在web.config文件中,我们配置了日志管理相关的东东,所以还需要引入其他类库(可以查看web工程下bin文件夹下的文件)。其中log.txt文件你可以查看你自己机器上iBatis.net工作情况,对于维护和调试是有参考意义的。在页面(Default.aspx)中,你可以直接调用业务逻辑中的增删改查等操作。
    下面是第一次加载网页的运行结果:

    2、业务逻辑层的一些注意点
    IBatisNetDemo工程是我们三层里的业务逻辑层,这里我们在微软的测试数据库Northwind中新建一个表Person来做一个业务逻辑测试。在引用了IBatisNet.Common和IBatisNet.DataMapper两个类库后,我们按部就班地要写配置和业务实现代码:
    (1)、新建表Person
    工程中添加Script文件夹,Person.sql如下:
    Code
    (2)、新添Domain文件夹,添加一个实体类Person.cs(读者可参考demo);
    (3)定义实体对应的xml文件:Person.xml(新添Map文件夹,在Map下添加SqlClient文件夹);
    (4)可用的实体业务操作
    新添Service文件夹,建BaseService.cs和PersonService.cs文件。BaseService初始化一个IBatis.Net下的SqlMapper对象;PersonService继承自BaseService,用SqlMapper对象实例实现增删改查等业务。
    (5)三个.config文件说明
    a、providers.config  这个直接拷贝到根目录,该文件定义各种数据库的驱动,包括SqlServer, Oracle, MySQL, PostgreSQL, DB2 and OLEDB, ODBC 等;
    b、database.config
    Code
    毫无疑问,是数据库相关配置文件,笔者的数据库还是sql2005Express版,读者可根据自己数据库的实际情况修改。
    c、sqlmap.config
    Code
    这三个.config文件是很重要的,尤其是sqlmap.config,它要和实体类相关类库,xml等关联起来,所以需要小心编写。

    下载地址:Demo下载


    作者:Jeff Wong
    出处:http://jeffwongishandsome.cnblogs.com/
    本文版权归作者和博客园共有,欢迎围观转载。转载时请您务必在文章明显位置给出原文链接,谢谢您的合作。

  • 相关阅读:
    编译安装zabbix3.2
    编译安装PHP的参数 --with-mysql --with-mysqli --with-apxs2默认路径
    MySql中指定符号分割并分行展示
    Linux中vim编辑器常用命令
    Ubuntu中安装配置 JDK与apache
    Ubuntu中python链接本地数据库
    oracle函数笔记(1)
    Oracle的五种约束
    斐波那契数列
    python计算圆面积
  • 原文地址:https://www.cnblogs.com/jeffwongishandsome/p/1530587.html
Copyright © 2011-2022 走看看