軟件工程畢業(yè)論文-汽車銷售管理系統(tǒng)的設(shè)計與實現(xiàn)--客戶管理模塊_第1頁
已閱讀1頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b>  (20 屆)</b></p><p>  汽車銷售管理系統(tǒng)的設(shè)計與實現(xiàn)--客戶管理模塊</p><p><b>  摘要</b></p><p>  隨著互連網(wǎng)技術(shù)的發(fā)展,汽車銷售系統(tǒng)通過計算機網(wǎng)

2、絡(luò)對客戶進行管理已成為主要形式。本文在分析客戶管理的發(fā)展及現(xiàn)有模式的基礎(chǔ)上,結(jié)合計算機網(wǎng)絡(luò)技術(shù)的發(fā)展和企業(yè)銷售的要求,提出了客戶管理的有效模式,并在技術(shù)實現(xiàn)上進行了詳細的分析。</p><p>  本課題使用JAVA作為開發(fā)語言,應(yīng)用框架是Spring MVC+MyBatis+freemaker,TOMCAT作為Web服務(wù)器,并使用了MYSQL作為后臺數(shù)據(jù)庫。Ajax實現(xiàn)了從基于Web的應(yīng)用到基于數(shù)據(jù)的應(yīng)用的轉(zhuǎn)換

3、。通過Ajax異步請求,可以使系統(tǒng)功能更加完善,更加友好。同時,EasyUI界面框架的使用也加強了頁面友好度。</p><p>  此次完成的客戶管理系統(tǒng),成功的實現(xiàn)了分頁顯示客戶信息、添加客戶信息及其增刪改等功能,此外,根據(jù)用戶的購買信息,實現(xiàn)了銷售統(tǒng)計和客戶消費的統(tǒng)計。并且注冊頁面采用了Ajax異步請求進行了對注冊用戶名的驗證,同時,本軟件的風格主要是采用了Easyui界面進行展示,其中,頁面布局使用其lay

4、out模塊,加載數(shù)據(jù)使用其datagrid模塊,頁面提示信息亦是采用了其Message功能模塊。</p><p>  關(guān)鍵詞: Spring MVC, MYSQL,Ajax,Easyui,MyBatis</p><p><b>  Abstract</b></p><p>  With the development of Internet t

5、echnology, car sales system through computer network to manage the customer has become the main form. Based on the analysis of the development of customer management and the existing model, combined with the development

6、of computer network technology and the requirement of quality education, puts forward the customer management mode, and makes detailed analysis on technology implementation.</p><p>  This paper uses JAVA as

7、the development language, SpringMVC+MyBatis+freemaker application framework, TOMCAT as the Web server,and uses MYSQL as the back-end database. Ajax from the implementation of the Web based applications to applications ba

8、sed on data conversion.Through the Ajax asynchronous request, can make the system function more perfect, more friendly. At the same time, the use of EasyUI interface frameworkand strengthen friendly page. </p><

9、;p>  The complete customer management system, to achieve the success ofpaging display customer information, add customer information and crud functions, in addition, according to the user's information, the statis

10、tics, sales statistics and customer consumption. And the registration page using the Ajaxasynchronous request is verified, the registered user name at the same time,the software style is mainly used Easyui interface to d

11、isplay, wherein, the layout of the page using the layout module, loading</p><p>  Key words:Spring MVC, MYSQL,Ajax,Easyui,Mybatis</p><p><b>  目錄</b></p><p><b>  引言

12、1</b></p><p>  1.1模塊開發(fā)的意義1</p><p>  1.2開發(fā)環(huán)境1</p><p><b>  技術(shù)概述2</b></p><p>  2.1數(shù)據(jù)庫介紹2</p><p>  2.2設(shè)計中JavaScript和Ajax技術(shù)2</p>

13、<p>  2.3 Spring MVC 介紹2</p><p><b>  需求分析3</b></p><p><b>  3.1項目概述3</b></p><p>  3.1.1 應(yīng)用目標3</p><p>  3.1.2 作用及范圍3</p><p&

14、gt;<b>  3.2模塊功能3</b></p><p>  3.3設(shè)計模式選定3</p><p><b>  設(shè)計與實現(xiàn)4</b></p><p>  4.1數(shù)據(jù)庫設(shè)計4</p><p>  4.1.1 E/R圖4</p><p>  如下圖4-1所示:4&l

15、t;/p><p>  4.1.2 詳細的表結(jié)構(gòu)5</p><p><b>  4.2流程圖5</b></p><p>  4.3模塊功能界面6</p><p>  4.3.1 登錄界面6</p><p>  4.3.2 管理員注冊界面7</p><p>  4.3.3

16、 管理員修改密碼界面7</p><p>  4.3.4 用戶列表界面8</p><p>  4.3.5 消費列表界面8</p><p>  4.3.6 銷售列表界面9</p><p>  4.4 部分功能界面代碼9</p><p>  4.4.1 管理員注冊界面代碼9</p><p>

17、;  4.4.2 頁面加載數(shù)據(jù)代碼10</p><p>  4.4.3 SpringMVC配置代碼12</p><p><b>  總結(jié)17</b></p><p><b>  參考文獻18</b></p><p><b>  致謝19</b></p>

18、<p><b>  引言</b></p><p><b>  模塊開發(fā)的意義</b></p><p>  IT技術(shù)的發(fā)展使信息的管理也進入了一個嶄新的階段,人類進入了信息高速發(fā)展的時代,信息技術(shù)成為一門新的產(chǎn)業(yè)[1]。汽車銷售理念的出臺,使銷售信息管理系統(tǒng)已開始設(shè)計并應(yīng)用于現(xiàn)實管理中。汽車銷售數(shù)量急劇增加,有關(guān)購車客戶的各種信息量也成倍

19、增長,客戶信息的統(tǒng)計跟蹤工作量與工作難度亦在增長。</p><p>  使用計算機對客戶信息進行統(tǒng)計跟蹤,具有手工管理無法比擬的優(yōu)點。使用計算機進行管理具有查找方便、數(shù)據(jù)處理快捷、成本低等優(yōu)點。這些優(yōu)點能夠極大地提高汽車銷售客戶信息管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理的重要條件。</p><p>  在傳統(tǒng)模式下簡單利用計算機對客戶信息進行統(tǒng)計跟蹤,存在著較多的缺點,這給汽車銷售管理者

20、對客戶的信息管理帶來了很大困難,嚴重影響了工作者的工作效率。隨著科學(xué)技術(shù)的不斷發(fā)展,計算機科學(xué)日漸成熟,使用日趨成熟的計算機技術(shù)代替?zhèn)鹘y(tǒng)的人工模式,來實現(xiàn)銷售客戶的現(xiàn)代化管理,其強大的功能已經(jīng)為人們所深刻認知,計算機技術(shù)已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。</p><p><b>  開發(fā)環(huán)境</b></p><p>  運行環(huán)境硬件:P4以上計算機,2

21、56M內(nèi)存以上。</p><p>  軟件要求:Windows98以上,Mysql5.5以上,JDK1.6以上,Tomcat7.0。</p><p>  開發(fā)環(huán)境硬件:P4以上計算機,256M內(nèi)存以上。</p><p>  軟件:MySQL5.5,JDK1.7以上,Tomcat7.0,Eclipse 3.6。</p><p><b>

22、;  技術(shù)概述</b></p><p><b>  2.1數(shù)據(jù)庫介紹</b></p><p>  MySQL[2]是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。由于它的強大功能、靈活性、豐富的應(yīng)用編程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),體積小、速度快、總體擁有成本低 ,尤其是開放源碼 ,受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache和PHP/PER

23、L結(jié)合,為建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強大動力。MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。SQL(結(jié)構(gòu)化查詢語言)是世界上最流行的和標準化的數(shù)據(jù)庫語言。MySQL是以一個客戶機/服務(wù)器結(jié)構(gòu)的實現(xiàn),它由一個服務(wù)器守護程序MySQL和很多不同的客戶程序和庫組成。</p><p>  2.2設(shè)計中JavaScript和Ajax技術(shù)</p><p>  本模塊前臺的大部分功能采用A

24、jax來實現(xiàn)。這使系統(tǒng)大大提升了性能。Ajax技術(shù)以JavaScript[3]為依托,而JavaScript是一種解釋性的,基于對象的腳本語言(an interpreted,object-based scripting language)。</p><p>  HTML網(wǎng)頁在互動性方面能力較弱,例如表單局部刷新,就是用戶點擊某一按鈕時,可實現(xiàn)網(wǎng)頁的無跳轉(zhuǎn)的頁面局部刷新,用純HTML網(wǎng)頁無法實現(xiàn);又如驗證HTML表

25、單(Form)提交信息的有效性,用戶名不能為空,密碼不能少于6位,郵政編碼只能是數(shù)字之類,用純HTML網(wǎng)頁也無法實現(xiàn)。要實現(xiàn)這些功能,就需要用到JavaScript。</p><p>  JavaScript作為一種腳本語言,比HTML要復(fù)雜,但是因為JavaScript寫的程序都是以源代碼的形式出現(xiàn)的,正因為可以借鑒、參考優(yōu)秀網(wǎng)頁的代碼,所以讓JavaScript本身也變得非常受歡迎,從而被廣泛應(yīng)用。原來不懂編

26、程的人,多參考JavaScript示例代碼,也能很快上手。</p><p>  JavaScript主要是基于客戶端運行的,用戶點擊帶有JavaScript的網(wǎng)頁,網(wǎng)頁里的JavaScript就傳到瀏覽器,由瀏覽器對此作處理。前面提到的局部刷新、驗證表單有效性等大量互動性功能,都是在客戶端完成的。</p><p>  2.3 Spring MVC 介紹</p><p&g

27、t;  Spring[4]框架提供了構(gòu)建 Web 應(yīng)用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構(gòu),可以選擇是使用內(nèi)置的 Spring Web[5]框架還是 Struts 這樣的 Web 框架。通過策略接口,Spring 框架是高度可配置的,而且包含多種視圖技術(shù),例如 JavaServer Pages(JSP)技術(shù)、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的視

28、圖,所以不會強迫您只使用 JSP 技術(shù)。Spring MVC 分離了控制器、模型對象、分派器以及處理程序?qū)ο蟮慕巧@種分離讓它們更容易進行定制。 </p><p>  Spring用到的技術(shù)主要是IOC和AOP[6],并且善用注解和單元測試。</p><p><b>  需求分析</b></p><p><b>  3.1項目概述&

29、lt;/b></p><p>  該模塊是為節(jié)省了客戶管理花費的人力和物力,解決手工操作帶來的諸多不便,提高信息查詢管理的工作效率而設(shè)計的。</p><p>  3.1.1 應(yīng)用目標</p><p>  系統(tǒng)界面簡潔,操作方便、容易,最大限度的滿足汽車銷售管理人員的需求,使管理人員通過使用本模塊可以進行快速的客戶信息檢索,以節(jié)省大量的工作時間和工作量,提高客戶

30、信息管理的效率。</p><p>  3.1.2 作用及范圍</p><p>  本系統(tǒng)適用于汽車銷售系統(tǒng)中客戶信息查詢管理,使查詢更加方便、高效率,以協(xié)助企業(yè)建立完備的客戶信息的管理。</p><p><b>  3.2模塊功能</b></p><p>  汽車銷售管理平臺分為用戶管理,客戶基本信息的管理,管理員管理等

31、幾大部分。其中客戶基本信息的管理模塊是核心模塊,客戶添加有單個添加,客戶信息查詢可以提供根據(jù)客戶姓名和購車名稱的精確查詢和根據(jù)購車價格,購車日期,有無等條件模糊查詢。其中,根據(jù)客戶的消費記錄,實現(xiàn)了汽車的銷量統(tǒng)計和客戶的消費統(tǒng)計。</p><p><b>  3.3設(shè)計模式選定</b></p><p>  目前,網(wǎng)絡(luò)應(yīng)用軟件運行的模式主要有兩類:Client/Serv

32、er模式和Browser/Web模式[7]。前者主要的缺點是維護、升級較麻煩,后者是近幾年伴隨Internet迅速發(fā)展起來的一種技術(shù),它與客戶/服務(wù)器方式類似,客戶端是一個標準的瀏覽器,服務(wù)器端是Web Server,而Web Server與數(shù)據(jù)庫和應(yīng)用服務(wù)器的緊密結(jié)合,使得這種模式的應(yīng)用范圍不斷擴大,它已不僅僅用于網(wǎng)上查詢,有很多部門的業(yè)務(wù)系統(tǒng)、企業(yè)的MIS系統(tǒng)紛紛采用這種模式,它的主要優(yōu)點是便于擴充應(yīng)用、升級維護簡便。</p&

33、gt;<p>  另外,客戶統(tǒng)計跟蹤模塊也將不斷的更新,同時軟件產(chǎn)品本身就要經(jīng)過一個不斷自我完善的過程。</p><p>  基于上述考慮,用Browser/Web模式來設(shè)計管理系統(tǒng)比較合適,服務(wù)器端本模塊采用MySQL數(shù)據(jù)庫系統(tǒng)和J2EE框架來構(gòu)成畢業(yè)統(tǒng)計跟蹤模塊;客戶端采用瀏覽起來完成。</p><p><b>  設(shè)計與實現(xiàn)</b></p&g

34、t;<p><b>  4.1數(shù)據(jù)庫設(shè)計</b></p><p>  4.1.1 E/R圖</p><p><b>  如下圖4-1所示:</b></p><p>  圖4-1數(shù)據(jù)庫E/R圖</p><p>  4.1.2 詳細的表結(jié)構(gòu)</p><p>  系統(tǒng)

35、數(shù)據(jù)庫名稱:car_sale_db。數(shù)據(jù)庫的表:car_admin,car_user。當添加刪除、選擇、更新、添加操作更新客戶表時對應(yīng)的客戶人數(shù)發(fā)生變化對應(yīng)的表car_user更新數(shù)據(jù)。</p><p>  系統(tǒng)管理員表結(jié)構(gòu)如下表4-2所示:</p><p><b>  表4-2 管理員表</b></p><p>  客戶表結(jié)構(gòu)如下表4-3所示

36、:</p><p><b>  表4-3 用戶表</b></p><p><b>  4.2流程圖</b></p><p>  系統(tǒng)主要分為兩大模塊:管理員登錄模塊和客戶信息管理模塊。下面分別介紹管理員登錄模塊和客戶管理模塊的建立。如下圖4-4所示: </p><p>  圖4-4 客戶管理

37、系統(tǒng)組成結(jié)構(gòu)</p><p><b>  4.3模塊功能界面</b></p><p>  4.3.1 登錄界面</p><p>  登錄界面,系統(tǒng)管理員的登錄界面。如果賬號或密碼錯誤則提示紅色錯誤信息。如下圖4-5所示:</p><p><b>  圖4-5登陸界面</b></p>&

38、lt;p>  4.3.2 管理員注冊界面</p><p>  管理員注冊界面。如下圖4-6所示:</p><p><b>  圖4-6 注冊界面</b></p><p>  4.3.3 管理員修改密碼界面</p><p>  管理員修改密碼界面。如下圖4-7所示:</p><p>  圖4-

39、7管理員修改密碼界面</p><p>  4.3.4 用戶列表界面</p><p>  客戶信息的展示,客戶的增刪改操作,其中可進行模糊查找,也可以進行精確查找。如下圖4-8所示:</p><p>  圖4-8 客戶信息列表界面</p><p>  4.3.5 消費列表界面</p><p>  客戶的消費信息列表界面,

40、可通過客戶名對客戶進行精確查找,如下圖4-9所示:</p><p>  圖4-9 消費列表界面</p><p>  4.3.6 銷售列表界面</p><p>  汽車的銷售信息列表界面,可通過車名對銷售信息進行精確查找,如下圖4-10所示。</p><p>  圖4-10銷售列表的顯示界面</p><p>  4.4

41、部分功能界面代碼</p><p>  4.4.1 管理員注冊界面代碼</p><p>  管理員注冊信息界面主要實現(xiàn)的是通過Ajax實現(xiàn)異步驗證要注冊的用戶名是否存在。通過jquery[8]來驗證密碼和確認密碼是否相等。該界面的具體代碼如下:</p><p><b>  <script></b></p><p&g

42、t;  //驗證用戶名是否已經(jīng)注冊,用到了Ajax異步調(diào)用</p><p>  function isUserExist(){</p><p>  var user = $("#user").val();</p><p>  if($.trim(user) != ""){</p><p>  $.pos

43、t("/admin/isUserExist",{user:user},function(data){</p><p>  if(data == 0){</p><p>  $("#user").val("");</p><p>  $("#errorMsg").empty();</

44、p><p>  $("#errorMsg").append("用戶名已注冊");</p><p>  }else if(data == 1){</p><p>  $("#errorMsg").empty();</p><p><b>  }</b></p&g

45、t;<p><b>  });</b></p><p><b>  }else{</b></p><p>  $("#errorMsg").empty();</p><p>  $("#errorMsg").append("用戶名不能為空");&l

46、t;/p><p><b>  }</b></p><p><b>  }</b></p><p>  //通過Ajax來提交表單數(shù)據(jù)并進行注冊,實現(xiàn)與服務(wù)器端的交互</p><p>  $(":button").click(function () {</p><p

47、>  var user = $("#user").val();</p><p>  var pwd = $("#pwd").val();</p><p>  var conpwd = $("#conpwd").val();</p><p>  if($.trim(pwd) == ""

48、;){</p><p>  $("#pwd").val("");</p><p>  $("#conpwd").val("");</p><p>  $("#errorMsg").empty();</p><p>  $("#erro

49、rMsg").append("密碼不能為空");</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  if($.trim(pwd) == $.trim(conpwd)){</p><p>  $.post(&

50、quot;/admin/regist", {user: user, pwd: pwd}, function (data) </p><p><b>  {</b></p><p>  if (data == 1) {</p><p>  window.location.href = "/admin/toLogin"

51、;</p><p>  } else if(data == 0){</p><p>  $("#user").val("");</p><p>  $("#pwd").val("");</p><p>  $("#conpwd").val(&q

52、uot;");</p><p>  $("#errorMsg").empty();</p><p>  $("#errorMsg").append("用戶名已注冊");</p><p><b>  } </b></p><p><b>  }

53、);</b></p><p><b>  }else{</b></p><p>  $("#pwd").val("");</p><p>  $("#conpwd").val("");</p><p>  $("#err

54、orMsg").empty();</p><p>  $("#errorMsg").append("密碼不一致");</p><p><b>  }</b></p><p><b>  })</b></p><p><b>  </s

55、cript></b></p><p>  4.4.2 頁面加載數(shù)據(jù)代碼</p><p>  頁面中加載數(shù)據(jù)的方式是通過EasyUI[9]中datagrid加載的,其可實現(xiàn)分頁Pagination的效果。</p><p>  $(function () {</p><p>  user.init();</p>&

56、lt;p><b>  });</b></p><p>  var user={</p><p>  init:function(){</p><p>  user.loaddata();</p><p><b>  },</b></p><p>  loaddata:f

57、unction(){</p><p>  //jquery獲取頁面中對應(yīng)的參數(shù)值</p><p>  var queryName = $("#queryName").val();</p><p>  var queryCarName = $("#queryCarName").val();</p><p>

58、;  var queryCarPriceMin = $("#queryCarPriceMin").val();</p><p>  var queryCarPriceMax = $("#queryCarPriceMax").val();</p><p>  var queryDateMin = $('#queryDateMin').d

59、atebox('getValue');</p><p>  var queryDateMax = $('#queryDateMax').datebox('getValue');</p><p>  //easyui框架中對應(yīng)的datagrid數(shù)據(jù)加載</p><p>  $("#table-user"

60、;).datagrid({</p><p>  url: '/user/queryAllUser',</p><p>  toolbar:'#toolbar',</p><p>  pagination:true,</p><p>  rownumbers: true,</p><p>

61、  fitColumns:true,</p><p>  singleSelect:true,</p><p>  fit: true,</p><p>  // toolbar:'toolbar',</p><p>  queryParams:{</p><p>  quer

62、yName:queryName,</p><p>  queryCarName:queryCarName,</p><p>  queryCarPriceMin:queryCarPriceMin,</p><p>  queryCarPriceMax:queryCarPriceMax,</p><p>  queryDateMin:query

63、DateMin,</p><p>  queryDateMax:queryDateMax</p><p><b>  },</b></p><p>  columns: [</p><p><b>  [</b></p><p>  {filed: 'id',

64、 hidden: true},</p><p>  {field: 'userName', title: '用戶名',width:100},</p><p>  {field: 'carName', title: '車名', align: 'left',width:100},</p><p&

65、gt;  {field: 'carPrice', title: '車價',width:100},</p><p>  {field: 'userCell', title: '用戶電話',width:100},</p><p>  {field: 'userAddress', title: '用戶地址&#

66、39;,width:100},</p><p>  {field: 'carDate', title: '購車日期',width:100},</p><p>  {field: 'op',title:'操作',width:100,formatter: function (value, rec) {</p><

67、;p>  return'<a title="刪除" href="javascript:user.del(' + rec.id + ')" class="easyui-linkbutton l-btn l-btn-plain" iconcls="icon-remove" plain="true">&

68、lt;span class="l-btn-left"><span class="l-btn-text icon-remove l-btn-icon-left"></span></span></a>' +</p><p>  '<a title="編輯" href="ja

69、vascript:user.updateDialog(' + rec.id + ')" class="easyui-linkbutton l-btn l-btn-plain" iconcls="icon-edit" plain="true"><span class="l-btn-left"><span cla

70、ss="l-btn-text icon-edit l-btn-icon-left"></span></span></a>';</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  ]<

71、/b></p><p><b>  ]</b></p><p><b>  });</b></p><p><b>  }</b></p><p>  4.4.3 SpringMVC配置代碼</p><p>  配置中,涉及到了注解的配置,前臺展

72、示使用freemarker[10]渲染也需要在這里進行配置,數(shù)據(jù)源的配置,連接數(shù)據(jù)庫使用的Mybatis也在這里進行相應(yīng)的配置。</p><p>  <beans xmlns="http://www.springframework.org/schema/beans"</p><p>  xmlns:context="http://www.springfr

73、amework.org/schema/context"</p><p>  xmlns:mvc="http://www.springframework.org/schema/mvc"</p><p>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</p><

74、p>  xmlns:aop="http://www.springframework.org/schema/aop"</p><p>  xmlns:tx="http://www.springframework.org/schema/tx"</p><p>  xsi:schemaLocation="http://www.springf

75、ramework.org/schema/beans</p><p>  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd</p><p>  http://www.springframework.org/schema/context</p><p>  http://www.spring

76、framework.org/schema/context/spring-context.xsd</p><p>  http://www.springframework.org/schema/tx </p><p>  http://www.springframework.org/schema/tx/spring-tx-3.0.xsd</p><p>  http:

77、//www.springframework.org/schema/aop</p><p>  http://www.springframework.org/schema/aop/spring-aop-3.0.xsd</p><p>  http://www.springframework.org/schema/mvc</p><p>  http://www.spr

78、ingframework.org/schema/mvc/spring-mvc-3.0.xsd"></p><p>  <!-- aop support --></p><p>  <mvc:annotation-driven/></p><p>  <aop:aspectj-autoproxy/></p>

79、;<p>  <!-- scan annotation beans : Controller, Service, Component, Repository...--></p><p>  <context:component-scan base-package="com.stu.car.dao.**,com.stu.car.service.**,c

80、om.stu.car.controller.**"/></p><p>  <!--靜態(tài)資源文件</p><p>  <context:property-placeholder location="classpath:constant.properties"></context:property-placeholder>&l

81、t;/p><p><b>  --></b></p><p>  <!-- freemarker的配置 --></p><p>  <bean id="freemarkerConfigurer" class="org.springframework.web.servlet.view.f

82、reemarker.FreeMarkerConfigurer"></p><p>  <property name="templateLoaderPath" value=""/></p><p>  <property name="defaultEncoding" value="UTF-

83、8"/></p><p>  <property name="freemarkerSettings"></p><p><b>  <props></b></p><p>  <prop key="classic_compatible">true<

84、/prop></p><p>  <prop key="template_update_delay">10</prop></p><p>  <prop key="locale">zh_CN</prop></p><p>  <prop key="datet

85、ime_format">yyyy-MM-dd HH:mm:ss</prop></p><p>  <prop key="date_format">yyyy-MM-dd</prop></p><p>  <prop key="number_format">#.##</prop>

86、</p><p><b>  </props></b></p><p>  </property></p><p><b>  </bean></b></p><p>  <!-- FreeMarker視圖解析 如返回userinfo。。在這里配置后綴名ft

87、l和視圖解析器。。 --></p><p>  <bean id="viewResolver"</p><p>  class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"></p><p>  <pro

88、perty name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/></p><p>  <property name="prefix" value="/WEB-INF/temp

89、late/"/></p><p>  <property name="suffix" value=".ftl"/></p><p>  <property name="contentType" value="text/html;charset=UTF-8"/></p

90、><p>  <property name="exposeRequestAttributes" value="true"/></p><p>  <property name="exposeSessionAttributes" value="true"/></p><p&

91、gt;  <property name="exposeSpringMacroHelpers" value="true"/></p><p><b>  </bean></b></p><p>  <!-- database configuration --></p><p&

92、gt;  <tx:annotation-driven transaction-manager="txManager"/></p><p>  <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">&

93、lt;/p><p>  <property name="dataSource" ref="dataSource"/></p><p><b>  </bean></b></p><p>  <bean id="dataSource" class="o

94、rg.apache.commons.dbcp.BasicDataSource"></p><p>  <property name="driverClassName" value="${jdbc.driver}"></property></p><p>  <property name="url

95、" value="${jdbc.url}"></property></p><p>  <property name="username" value="${jdbc.username}"></property></p><p>  <property name="

96、;password" value="${jdbc.password}"></property></p><p>  <property name="maxActive" value="100"></property></p><p>  <property name=&qu

97、ot;maxIdle" value="30"></property></p><p>  <property name="maxWait" value="500"></property></p><p>  <property name="defaultAutoC

98、ommit" value="true"></property></p><p><b>  </bean></b></p><p>  <!--Configure SqlSessionFactoryBean.--></p><p>  <bean id="s

99、qlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"></p><p>  <property name="dataSource" ref="dataSource"/></p><p>  <property name

100、="configLocation" value="classpath:mybatis.xml"/></p><p>  <property name="mapperLocations" value="classpath*:com/stu/car/dao/**/*.xml"/></p><p>

101、<b>  </bean></b></p><p>  <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"></p><p>  <constructor-arg index="0" ref=&q

102、uot;sqlSessionFactory"/></p><p><b>  </bean></b></p><p>  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"></p><p>  <pro

103、perty name="basePackage" value="com.stu.car.dao.**"/></p><p>  <property name="sqlSessionTemplateBeanName" value="sqlSession"/></p><p><b> 

104、 </bean></b></p><p><b>  </beans></b></p><p>  4.4.2 后臺數(shù)據(jù)庫部分代碼</p><p>  用戶表增刪改查的簡單sql操作。</p><p>  <?xml version="1.0" encodin

105、g="UTF-8"?></p><p>  <!DOCTYPE mapper</p><p>  PUBLIC "-//ibatis.apache.org//DTD Config 3.1//EN"</p><p>  "http://mybatis.org/dtd/mybatis-3-mapper.dtd

106、"></p><p>  <mapper namespace="com.stu.car.dao.user.UserMapper"></p><p>  <insert id="addUser" parameterType="com.stu.car.domain.user.User"</p&g

107、t;<p>  useGeneratedKeys="true" keyProperty="id"></p><p>  <!--添加用戶代碼--></p><p>  insert into car_user</p><p><b>  (</b></p>&

108、lt;p>  user_name,</p><p><b>  user_sex,</b></p><p><b>  user_age,</b></p><p><b>  car_date,</b></p><p><b>  car_name,</b

109、></p><p>  car_price,</p><p>  user_cell,</p><p><b>  user_ID,</b></p><p>  user_address,</p><p><b>  comment</b></p><

110、;p><b>  )</b></p><p><b>  values</b></p><p><b>  (</b></p><p>  #{userName},</p><p>  #{userSex},</p><p>  #{userAge

111、},</p><p>  #{carDate},</p><p>  #{carName},</p><p>  #{carPrice},</p><p>  #{userCell},</p><p>  #{userID},</p><p>  #{userAddress},</p>

112、;<p>  #{comment}</p><p><b>  )</b></p><p><b>  </insert></b></p><p>  <!--選擇所有用戶代碼--></p><p>  <select id="findAllUs

113、er" resultType="com.stu.car.domain.user.User" parameterType="com.stu.car.domain.user.UserQueryVO"></p><p><b>  select </b></p><p><b>  id AS id,<

114、/b></p><p>  user_name AS userName,</p><p>  user_sex AS userSex,</p><p>  user_age AS userAge,</p><p>  car_date AS carDate,</p><p>  car_name AS carNa

115、me,</p><p>  car_price AS carPrice,</p><p>  user_cell AS userCell,</p><p>  user_ID AS userID,</p><p>  user_address AS userAddress,</p><p>  comment AS c

116、omment</p><p><b>  from </b></p><p><b>  car_user</b></p><p><b>  where 1=1</b></p><p>  <if test="queryName != null and que

117、ryName != '' "></p><p>  AND user_name = #{queryName} </p><p><b>  </if></b></p><p>  <if test="queryCarName != null and queryCarName != &#

118、39;' "></p><p>  AND car_name = #{queryCarName} </p><p><b>  </if></b></p><p>  <if test="queryCarPriceMin != null and queryCarPriceMax != 0&qu

119、ot;></p><p>  AND car_price>=#{queryCarPriceMin} AND #{queryCarPriceMax} >= car_price</p><p><b>  </if></b></p><p>  <if test="queryDateMin != nu

120、ll and queryDateMin != '' "></p><p>  AND car_date >= #{queryDateMin} AND #{queryDateMax} >= car_date</p><p><b>  </if></b></p><p>  limit #{

121、offset},#{rows}</p><p><b>  </select></b></p><p>  <!-- 根據(jù)id刪除用戶--></p><p>  <delete id="deleteUserById" parameterType="int"></p

122、><p>  delete from car_user</p><p>  where id = #{id}</p><p><b>  </delete></b></p><p>  <!--更新用戶操作--></p><p>  <update id="up

123、dateUserById" parameterType="com.stu.car.domain.user.User"></p><p>  update car_user</p><p><b>  set</b></p><p>  user_name = #{userName},</p>&

124、lt;p>  user_sex = #{userSex},</p><p>  user_age = #{userAge},</p><p>  car_date = #{carDate},</p><p>  car_name = #{carName},</p><p>  car_price = #{carPrice},</p

125、><p>  user_cell = #{userCell},</p><p>  user_ID = #{userID},</p><p>  user_address = #{userAddress},</p><p>  comment = #{comment}</p><p><b>  where &l

126、t;/b></p><p>  id = #{id}</p><p><b>  </update></b></p><p><b>  </mapper></b></p><p><b>  總結(jié)</b></p><p>

127、  通過這次設(shè)計,使我重新的審視了這一學(xué)科的全部內(nèi)容,并且得到了很好的利用。在此過程中也鍛煉了我的意志,讓我在以后的學(xué)習(xí)、生活中更有堅持不懈的精神去面對各種困難與挑戰(zhàn)。同時,也使自己在軟件應(yīng)用方面有了很大的提高,爭取在以后的學(xué)習(xí)工作中,能在各方面都有更大的進步。通過這次的畢業(yè)設(shè)計過程,我有幾點體會,陳述如下:</p><p><b>  1.注意經(jīng)常總結(jié)</b></p><

128、;p>  模塊的開發(fā)過程中,經(jīng)常會碰到一些小問題或一些書本上涉及不到的思想,這些東西要注意經(jīng)??偨Y(jié)下來,作為自己編程過程中的經(jīng)驗,量變會導(dǎo)致質(zhì)變,經(jīng)??偨Y(jié),大量經(jīng)驗的堆積、吸收都將會對自己編程水平的提高有極大的好處。</p><p>  2.編碼的規(guī)范性非常重要</p><p>  無論多么小的程序,都一定要注意格式規(guī)范,這是成為一個好的程序員所必需養(yǎng)成的習(xí)慣。只有這樣,程序的查錯工

129、作才更簡單更有效,代碼的可讀性才更大。最初的幾個頁面我沒有注意這樣的問題,有的地方不很規(guī)范,當出現(xiàn)問題的時候,查起來非常繁瑣,后來我將這幾個頁面重寫,并在以后的編碼中充分注意了規(guī)范的問題,大大減少了用于檢查錯誤的不必要時間。</p><p>  我希望,通過這次畢業(yè)設(shè)計的體會,能夠使我在開發(fā)汽車銷售管理系統(tǒng)水平上更進一步,在思維上更富有邏輯性,在處事上更嚴謹,在面對錯誤或失誤時更冷靜,將自己的人生看作是一次教學(xué)系

130、統(tǒng)的開發(fā)過程,不斷的對自己進行需求分析和設(shè)計,編寫自己以后的生活,由于知識水平有限,所以該系統(tǒng)還有許多不盡如人意的地方,望提出寶貴意見!</p><p><b>  參考文獻</b></p><p>  1. 李剛,《瘋狂Java講義》.北京:電子工業(yè)出版社,2012</p><p>  2. http://baike.so.com/doc/2

131、303745.html</p><p>  3.http://www.javascriptsource.com/</p><p>  4. http://spring.io/threading problems,2008</p><p>  5. 張孝祥.深入Java Web 開發(fā)內(nèi)幕--核心基礎(chǔ)[M].北京:電子工業(yè)出版社</p><p>

132、  6. Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA:Prentice Hall,2006</p><p>  7. Joshua Bloch. Effective Java[M]. Piscataway,N.J:IEEE Press,2009</p><p>  8. http://api.j

溫馨提示

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

最新文檔

評論

0/150

提交評論