學生作品_Excel與關系數(shù)據(jù)庫之間的批量數(shù)據(jù)轉移_第1頁
學生作品_Excel與關系數(shù)據(jù)庫之間的批量數(shù)據(jù)轉移_第2頁
學生作品_Excel與關系數(shù)據(jù)庫之間的批量數(shù)據(jù)轉移_第3頁
學生作品_Excel與關系數(shù)據(jù)庫之間的批量數(shù)據(jù)轉移_第4頁
學生作品_Excel與關系數(shù)據(jù)庫之間的批量數(shù)據(jù)轉移_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、常州信息職業(yè)技術學院軟件開發(fā)與項目管理學生作品作品題目:Excel與關系數(shù)據(jù)庫之間的批量數(shù)據(jù)轉移作品作者: 陳西 指導教師: 錢銀中 完成時間: 2012.05.21 一.項目介紹學生工作管理系統(tǒng)主要包括學生基本信息管理,學生考勤,助學金管理,學生評優(yōu),用戶管理,學生成績查詢等模塊。使用系統(tǒng)的人員包括:學工處、系學生工作負責人、系輔導員、班主任,用戶使用系統(tǒng)前必須登錄。每個用戶只能設置、更改、查詢管轄范圍內的學生。學生工作管理系統(tǒng)的開發(fā),首先要解決的是數(shù)據(jù)庫的設計問題。當數(shù)據(jù)庫設計好了,要解決兩個問題:第一,如何創(chuàng)建數(shù)據(jù)庫中的表;第二:如何對數(shù)據(jù)庫進行初始化工作(Excel 表格中有大量的數(shù)據(jù)

2、,如何將這些數(shù)據(jù)方便,快捷的導入到數(shù)據(jù)庫中,進行數(shù)據(jù)庫的初始化工作)。本項目介紹使用數(shù)據(jù)庫初始化過程的批量加載工作。二.開發(fā)技術開發(fā)過程中使用了POI開源項目,實現(xiàn)EXCEL表格和關系數(shù)據(jù)庫之間的批量轉移。Jakarta POI 是apache的子項目,目標是處理ole2對象。它提供了一組操縱Windows文檔的Java API 。目前比較成熟的是HSSF接口,處理MS Excel(97-2002)對象。它不象我們僅僅是用csv生成的沒有格式的可以由Excel轉換的東西,而是真正的Excel對象,你可以控制一些屬性如sheet,cell等等。 在POI中,Excel表格有下列對象:(1)HSS

3、FWorkbook excell 文檔對象介紹 (2)HSSFSheet excell的表單 (3)HSSFRow excell的行 (4)HSSFCell excell的格子單元(1)使用POI讀取Excel文件讀取Excel文件時,首先生成一個POIFSFileSystem對象,由POIFSFileSystem對象構造一個HSSFWorkbook,該HSSFWorkbook對象就代表了Excel文檔。下面代碼讀取上面生成的Excel文件寫入的消息字串: POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:tes

4、t.xls"); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0); HSSFRow row = sheet.getRow(0); HSSFCell cell = row.getCell(short) 0); String msg = cell.getStringCellValue(); (2)使用POI寫入Excel文件下列代碼演示了將excel的第一個表單第一行的第一個單元格的值寫成“a test”。 POIFSFileSystem fs =new POIFSFileSystem(

5、new FileInputStream("workbook.xls"); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0); HSSFRow row = sheet.getRow(0); HSSFCell cell = row.getCell(short)0); cell.setCellValue("a test"); / Write the output to a file FileOutputStream fileOut = new FileOutpu

6、tStream("workbook.xls"); wb.write(fileOut); fileOut.close(); 三.實施過程(1)數(shù)據(jù)庫設計 圖1是學生工作管理系統(tǒng)的ER圖,數(shù)據(jù)轉移建立在這一數(shù)據(jù)庫設計的基礎之上。圖1 學生工作管理系統(tǒng)的ER圖(2) 使用Hibernate 連接數(shù)據(jù)庫Hibernate是中小型項目使用的最多的一種持久化技術。而它最重要的概念就是ORM(對象-關系映射)。對于這個概念,許多資料上的解釋都不一樣,比較大眾化的解釋是,將數(shù)據(jù)庫中的記錄映射到程序中,使其成為對象來操作,就象操作JAVA的普通類一樣。除了這些,它還可以為我們管理連接對象,事

7、務處理等操作。所以使用起來很方便。Hibernate能夠訪問多種關系數(shù)據(jù)庫,如SQL Server、MySQL、Oracle和Access等。在訪問這些數(shù)據(jù)庫時,只需要在Hibernate的配置文件(hibernate.cfg.xml)中指定正確的連接屬性值。連接Oracle數(shù)據(jù)庫的Hibernate配置文件有兩種格式,一種是xml格式的,另一種是Java屬性文件格式的。下面將給出xml格式的配置文件的代碼。<session-factory> <!-指定數(shù)據(jù)庫使用的SQL方言-><property name="dialect">org.h

8、ibernate.dialect.Oracle9Dialect</property> <!-指定連接數(shù)據(jù)庫用的驅動-><property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <!-指定連接數(shù)據(jù)庫的路徑-><property name="connection.url">jdbc:oracle:thin:62:1521:orcl</property&g

9、t; <!-指定連接數(shù)據(jù)庫的用戶名-><property name="connection.username">sun</property> <!-指定連接數(shù)據(jù)庫的密碼-><property name="connection.password">123456</property> <!-指定連接名字-><property name="file">oracle10g</property&g

10、t;</session-factory>(3)把Excel 中的數(shù)據(jù)批量導入到Oracle 10g 數(shù)據(jù)庫中以院系表(YX)為例,下列代碼把Excel文件“yx.XLS”全部加載到數(shù)據(jù)庫中:public class SaveToOracle public static void saveYX(String fileToBeRead) throws Exception HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead);/創(chuàng)建工作簿 HSSFSheet sheet = workbook.

11、getSheet("yx");/創(chuàng)建YX表int rowNumber = sheet.getLastRowNum();/獲得該表的最大行的索引for (int i = 0; i <= rowNumber; i+) HSSFRow row = sheet.getRow(i);HSSFCell cell1 = row.getCell(short) 0);String yxdm = cell1.getStringCellValue();HSSFCell cell2 = row.getCell(short) 1);String yxmc = cell2.getStringCe

12、llValue(); /分別獲取單元格的內容Session session = HibernateUtil.getSessionFactory().getCurrentSession();/創(chuàng)建SESSION對象Transaction tx = session.beginTransaction();/創(chuàng)建事務Yx yx = new Yx(yxdm, yxmc);/創(chuàng)建對象session.save(yx);/調用方法mit();/事務提交最后使用TestSaveToOracle來調用SaveToOracle類public class TestSaveToOracle public static void main(String args) throws Exception SaveToOracle.saveYX(" C:/Documents and Settings

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論