在上两篇《 Java是如何快速煮成C#的?》(一):相似的方法 和《Java是如何快速煮成C#的?》(一):相似的方法(2) 中,我们开启了C#与Java中的话题之一:相似的方法。其实我写主这两篇文章的目的,有两个:
1、总结自己的学习历程,这个是主要的。
2、给c#转入java的同学一个快速熟悉的感觉,所以这个系列的名称也是“快速煮成”。
因为我对这两门语言仅限了解,对c#也仅限于熟悉,如有理解不妥之处,请指正。
今天我们看看这两种语言环境下纯粹的数据访问。
首先我再次声明:
1、本文不比较这两种语言的数据访问的性能差异。
2、本文不涉及各自的OR框架 , 如C#的ADO.NET Entity Framework,MVC,Nhibernate,spring.net,以及Java领域的Spring/Hibernate/Struts等第三方框架,只是纯粹的数据访问 。
3、数据库采用MS SQL server 2008,其实也可以用mySQL,MySQL提供官方支持。oracle平时很少用,DB2没用过。
准备工作:一个用于测试的部门表DepartDemo,表结构如下:
相关的SQL语句:
一、我们看看C#环境下一个数据访问的简单例子。
在vs2010中新建一控制台项目,结构如下:
相应的代码,
基础数据层:
Database.cs:
DynamicBuilder.cs:
SqlHelper.cs:(我们将最常用的SQL在大家熟悉的SqlHelper中。)
DAL:
SqlDataprovider.cs
DepartDemo.cs
测试代码 :
相应的配置文件App.Config内容,如果是web项目,则在web.config中。
运行结果:
二、在Eclipse中新建一Java项目,如下:
代码如下:
DBConnectionManager.java
SQLHelper.java(Null 提供的一个Java版的SQLHelper类。)
DepartDemo.java
测试代码
配置文件demo2010.txt内容(位于src根路径下)
测试结果
为了更加清楚地说明数据连接的有关特性,我们用一种更原始的数据读取方式:
DBConnect.java的代码如下:
相应的DepartDemo.java中部分代码如下:
运行结果同上
小结:
1、在C#非web项目中,应用程序默认的配置文件App.config位于项目根目录下,运行时自动复制到应用程序exe文件所在的路径下,如bin/debug下等。web项目中,web.config位于网站根目录下。
Java中读取属性文件位于src目录下,运行时会自动复制到bin目录下。
两者的默认路径都可以配置。
对于不同的框架如Spring等都有相应的配置文件读取方式,本文中并未涉及。
2、数据访问均采取相应的连接串形式。对连接池的控制机制也略有不同。
助人等于自助! 3w@live.cn