javasql框架
A. 作為一個java程序員, 應該掌握哪些知識, 目前, 比較流行的java開發框架有哪些,
java基礎,三大主流資料庫mysql,orcale,sql server;然後是j2ee的相關知識,也就是java開發框架。
Spring Framework 【Java 開源JEE框架】
Spring是一個解決了許多在J2EE開發中常見的問題的強大框架。
Spring提供了管理業務對象的一致方法並且鼓勵了注入對介面編程而不是對類編程的良好習慣。Spring的架構基礎是基於使用JavaBean屬性的
Inversion of
Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構建完關注所有架構層的完整解決方案方面是獨一無二的。
Spring提供了唯一的數據訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率並且減少了可能的錯誤。Spring的數據訪問架構還集成了
Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務管理抽象,它能夠在各種底層事務管理技術,例如JTA或者
JDBC事務提供一個一致的編程模型。Spring提供了一個用標准Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務管理和其他企業事務
--如果你需要--還能實現你自己的aspects。這個框架足夠強大,使得應用程序能夠拋開EJB的復雜性,同時享受著和傳統EJB相關的關鍵服務。
Spring還提供了可以和IoC容器集成的強大而靈活的MVC Web框架。【SpringIDE:Eclipse平台下一個輔助開發插件】.
WebWork 【Java開源Web開發框架】
WebWork是由OpenSymphony組織開發的,致力於組件化和代碼重用的拉出式MVC模式J2EE
Web框架。WebWork目前最新版本是2.1,現在的WebWork2.x前身是Rickard
Oberg開發的WebWork,但現在WebWork已經被拆分成了Xwork1和WebWork2兩個項目。
Xwork簡潔、靈活功能強大,它是一個標準的Command模式實現,並且完全從web層脫離出來。
Xwork提供了很多核心功能:前端攔截機(interceptor),運行時表單屬性驗證,類型轉換,強大的表達式語言(OGNL – the
Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。
WebWork2建立在Xwork之上,處理HTTP的響應和請求。WebWork2使用ServletDispatcher將HTTP請求的變成
Action(業務層Action類),
session(會話)application(應用程序)范圍的映射,request請求參數映射。WebWork2支持多視圖表示,視圖部分可以使用
JSP, Velocity, FreeMarker,
JasperReports,XML等。在WebWork2.2中添加了對AJAX的支持,這支持是構建在DWR與Dojo這兩個框架的基礎之上.
【EclipseWork:用於WebWork輔助開發的一個Eclipse插件】
Struts 【Java開源Web開發框架】
Struts是一個基於Sun
J2EE平台的MVC框架,主要是採用Servlet和JSP技術來實現的。由於Struts能充分滿足應用開發的需求,簡單易用,敏捷迅速,在過去的一年中頗受關注。Struts把Servlet、JSP、自定義標簽和信息資源(message
resources)整合到一個統一的框架中,開發人員利用其進行開發時不用再自己編碼實現全套MVC模式,極大的節省了時間,所以說Struts是一個非常不錯的應用框架。【StrutsIDE:用於Struts輔助開發的一個Eclipse插件】
Hibernate 【Java開源持久層框架】
Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱資料庫。
Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序實用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。Eclipse平台下的Hibernate輔助開發工具:【Hibernate
Synchronizer】【MiddlegenIDE】
Quartz 【Java開源調度框架】
Quartz是OpenSymphony開源組織在Job
scheling領域又一個開源項目,它可以與J2EE與J2SE應用程序相結合也可以單獨使用。Quartz可以用來創建簡單或為運行十個,百個,甚至是好幾萬個Jobs這樣復雜的日程序表。Jobs可以做成標準的Java組件或
EJBs。Quartz的最新版本為Quartz 1.5.0。
Velocity 【Java開源模板引擎】
Velocity是一個基於java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template
language)來引用由java代碼定義的對象。當Velocity應用於web開發時,界面設計人員可以和java程序開發人員同步開發一個遵循MVC架構的web站點,也就是說,頁面設計人員可以只關注頁面的顯示效果,而由java程序開發人員關注業務邏輯編碼。Velocity將java代碼從web頁面中分離出來,這樣為web站點的長期維護提供了便利,同時也為我們在JSP和PHP之外又提供了一種可選的方案。
Velocity的能力遠不止web站點開發這個領域,例如,它可以從模板(template)產生SQL和PostScript、XML,它也可以被當作一個獨立工具來產生源代碼和報告,或者作為其他系統的集成組件使用。Velocity也可以為Turbine
web開發架構提供模板服務(template
service)。Velocity+Turbine提供一個模板服務的方式允許一個web應用以一個真正的MVC模型進行開發。【VeloEclipse
:Velocity在Eclipse平台下的一個輔助開發插件】
IBATIS 【Java開源持久層框架】
使用ibatis 提供的ORM機制,對業務邏輯實現人員而言,面對的是純粹的Java對象, 這一層與通過Hibernate 實現ORM
而言基本一致,而對於具體的數據操作,Hibernate 會自動生成SQL 語句,而ibatis 則要求開發者編寫具體的SQL
語句。相對Hibernate等 「全自動」ORM機制而言,ibatis
以SQL開發的工作量和資料庫移植性上的讓步,為系統設計提供了更大的自由空間。作為「全自動」ORM 實現的一種有益補充,ibatis 的出現顯
得別具意義。
Compiere ERP&CRM 【Java開源ERP與CRM系統】
Compiere
ERP&CRM為全球范圍內的中小型企業提供綜合型解決方案,覆蓋從客戶管理、供應鏈到財務管理的全部領域,支持多組織、多幣種、多會計模式、多成本計算、多語種、多稅制等國際化特性。易於安裝、易於實施、易於使用。只需要短短幾個小時,您就可以使用申購-采購-發票-付款、報價-訂單-發票-收款、產品與定價、資產管理、客戶關系、供應商關系、員工關系、經營業績分析等強大功能了。
Roller Weblogger 【Java開源Blog博客】
這個weblogging
設計得比較精巧,源代碼是很好的學習資料。它支持weblogging應有的特性如:評論功能,所見即所得HTML編輯,TrackBack,提供頁面模板,RSS
syndication,blogroll管理和提供一個XML-RPC 介面。
Eclipse 【Java開源IDE】
Eclipse平台是IBM向開發源碼社區捐贈的開發框架,它之所以出名並不是因為IBM宣稱投入開發的資金總數
—4千萬美元,而是因為如此巨大的投入所帶來的成果:一個成熟的、精心設計的以及可擴展的體系結構。
XPlanner 【Java開源項目管理】
XPlanner 一個基於Web的XP團隊計劃和跟蹤工具。XP獨特的開發概念如iteration、user
stories等,XPlanner都提供了相對應的的管理工具,XPlanner支持XP開發流程,並解決利用XP思想來開發項目所碰到的問題。
XPlanner特點包括:簡單的模型規劃,虛擬筆記卡(Virtual note cards),iterations、user
stories與工作記錄的追蹤,未完成stories將自動迭代,工作時間追蹤,生成團隊效率,個人工時報表,SOAP界面支持。
HSQLDB 【Java開源開源資料庫】
HSQLDB(Hypersonic SQL)是純Java開發的關系型資料庫,並提供JDBC驅動存取數據。支持ANSI-92 標准
SQL語法。而且他占的空間很小。大約只有160K,擁有快速的資料庫引擎。
Liferay 【Java開源門戶系統】
代表了完整的J2EE應用,使用了Web、EJB以及JMS等技術,特別是其前台界面部分使用Struts
框架技術,基於XML的portlet配置文件可以自由地動態擴展,使用了Web Services來支持一些遠程信息的獲取,使用 Apahce
Lucene實現全文檢索功能。
主要特點:
提供單一登陸介面,多認證模式(LDAP或 SQL);
管理員能通過用戶界面輕松管理用戶,組,角色;
用戶能可以根據需要定製個性化的portal layout;
能夠在主流的J2EE應用伺服器上運行,如JBoss+Jetty/Tomcat,JOnAS;
支 持主流的資料庫,如PostgreSQL,MySQL;
使用了第三放的開源項目,如Hibernate, Lucene, Struts;
支持包括中文在內的多種語言;
採用最先進的技術 Java, EJB, JMS, SOAP, XML;
JetSpeed 【Java開源門戶系統】
Jetspeed是一個開放源代碼的企業信息門戶(EIP)的實現, 使用的技術是Java和XML. 用戶可以使用瀏覽器,
支持WAP協議的手機或者其它的設備訪問Jetspeed架設的信息門戶獲取信息. Jetspeed扮演著信息集中器的角色,
它能夠把信息集中起來並且很容易地提供給用戶.
Jetspeed具有如下的特徵:
即將成為標准化的Java Portlet API
基於模板的布局, 包括JSP和Velocity
通過開放的內容同步技術支持遠程XML 內容交換
定製默認的主頁
使用資料庫進行用戶認證
內存緩存技術, 加快頁面的響應
通 過Rich Site Summary技術, 支持同步內容
和Cocoon, WebMacro, Velocity集成.
Wireless Markup Language (WML) 支持
使用XML格式的配置文件注冊portlet.
完整的 Web Application Archive (WAR) 支持
Web應用程序開發的基礎設施
可以在本地緩 存遠程內容
與Avantgo同步
可移植到所有支持JDK1.2和Servlet 2.2的平台
與 Turbine模塊和服務集成
可以根據用戶, 安裝媒體類型和語言的不同設定, 產生不同的個性化服務
持續化服 務使得所由的portlet能夠容易的存儲每個用戶的狀態, 頁面和portlet
使用皮膚技術使得用戶可以選擇portlet的顏 色和顯示屬性
自定義功能是的管理員可以選擇portlet以及定義個人頁面的布局
在資料庫中存儲PSML
通 過Jetspeed的安全portlets管理用戶, 組,角色和許可權
基於角色對訪問portlet進行控制
JOnAS 【Java開源應用伺服器】
JOnAS是一個開放源代碼的J2EE實現,在ObjectWeb協會中開發。整合了Tomcat或Jetty成為它的Web容器,以確保符合Servlet
2.3和JSP 1.2規范。JOnAS伺服器依賴或實現以下的Java API:JCA、JDBC、JTA
、JMS、JMX、JNDI、JAAS、JavaMail 。
JFox3.0 【Java開源應用伺服器】
JFox 是 Open Source Java EE Application Server,致力於提供輕量級的Java
EE應用伺服器,從3.0開始,JFox提供了一個支持模塊化的MVC框架,以簡化EJB以及Web應用的開發!
如果您正在尋找一個簡單、輕量、高效、完善的Java EE開發平台,那麼JFox正是您需要的。
JFox 3.0 擁有以下特性:
重 新設計的 IoC 微內核,融入 OSGi 模塊化思想
設計成嵌入式架構,能夠和任何 Java Web Server集成部署
支 持 EJB3,JPA規范,支持容器內和容器外兩種方式運行EJB和JPA組件
支持 EJB 發布成Web Service
采 用 JOTM(http://jotm.objectweb.org/)提供事務處理,支持兩階段提交 (2PC)
採用 XAPool(http://forge.objectweb.org/projects/xapool/) 提供 XA
DataSource,支持智能連接池管理
內置 MVC 框架,實現自動Form
Mapping,Validator,Uploading等功能,支持JSP/Velocity/Freemarker頁面引擎,並支持直接在
Action中注入EJB
支持多應用模塊部署,讓中大型應用充分享受模塊化開發帶來的優勢
提供 Manager 管理模塊,可以查看和管理各種運行時參數
提供根據 JFox 特色重寫的 Petstore 應用模塊
EasyJWeb 【Java開源Web開發框架】
EasyJWeb是基於java技術,應用於WEB應用程序快速開發的MVC框架,框架設計構思來源於國內眾多項目實踐,框架充分借簽了當前主要流行的開源Web框架(Struts、JSF、Tapestry
、Webwork),吸取了其優點及精華,利用Velocity作為模板頁面引擎,是一個實現了頁面及代碼完全分離的MVC開發框架。是一個能實現中小型
Web應用系統快速開發的簡易Web框架。
通過EasyJWeb
Tools提供的配套開發工具,可以實現基於EasyJWeb框架的Web應用快速開發,包括常用應用軟體的代碼自生成、資料庫添刪改查(CRUD)代碼生成、自動頁面模版生成、配置文件管理等。
框架特點:
零配文件置支持。以前我們每接觸一個框架,開始總都要被
他的配置文件折騰一番。EasyJWeb實現零配置支持,可以不寫一句配置文件就在框架基礎上構建你的運用。(適合小型網站系統)。
簡 易的模板頁面設計支持:放棄使用jsp,使用簡單Velocity腳本語言作為頁面模板。
頁面程序完全分離:實現顯示頁面與程序邏輯 的完全分離,克服了傳統jsp頁面難於維護的問題。
基於頁面組件的框架。靈活的頁面組件配置,可以直接通過配置文件設置欄位級的事件 組件。
快速開發支持:通過EasyJWeb
Tools,可以自動生成應用軟體模板代碼,定製並管理自己的J2EE代碼模板,代碼生成模板支持最流行的實用Java開發框架(如hibernate、
Spring等)實現快速開發。
Tapestry 【Java開源Web開發框架】
Tapestry是一個開源的基於servlet的應用程序框架,它使用組件對象模型來創建動態的,交互的web應用。一個組件就是任意一個帶有
jwcid屬性的html標記。其中jwc的意思是Java Web
Component。Tapestry使得java代碼與html完全分離,利用這個框架開發大型應用變得輕而易舉。並且開發的應用很容易維護和升級。
Tapestry支持本地化,其錯誤報告也很詳細。Tapestry主要利用javabean和xml技術進行開發。【Spindle:Tapestry
輔助開發Eclipse插件】.
FreeMarker 【Java開源模板引擎】
FreeMarker允許Java
servlet保持圖形設計同應用程序邏輯的分離,這是通過在模板中密封HTML完成的。模板用servlet提供的數據動態地生成
HTML。模板語言是強大的直觀的,編譯器速度快,輸出接近靜態HTML頁面的速度。
【FreeMarker Eclipse Plugin與FreeMarker IDE:Eclipse平台下的輔助開發工具】
Lucene 【Java開源搜索引擎】
Apache
Lucene是一個基於Java全文搜索引擎,利用它可以輕易地為Java軟體加入全文搜尋功能。Lucene的最主要工作是替文件的每一個字作索引,索引讓搜尋的效率比傳統的逐字比較大大提高,Lucen提供一組解讀,過濾,分析文件,編排和使用索引的API,它的強大之處除了高效和簡單外,是最重要的是使使用者可以隨時應自已需要自訂其功能。
iText 【Java開源PDF類庫】
iText是一個能夠快速產生PDF文件的java類庫。iText的java類對於那些要產生包含文本,表格,圖形的只讀文檔是很有用的。它的類庫尤其與java
Servlet有很好的給合。使用iText與PDF能夠使你正確的控制Servlet的輸出。
Groovy 【Java開源動態語言】
Groovy是一種基於JVM的敏捷開發語言,它結合了Python、Ruby和 Smalltalk的許多強大的特性。
Groovy已在WebWork2中的應用。它可以被編譯為標準的Java Bytecode。
OpenCms 【Java開源CMS系統】
OpenCms是一個J2EE的產品,它是用 Java寫成的。它和Tomcat捆綁在一起。但是也能夠使用ATG
Dynamo、WebLogic和WebSphere。OpenCms支持多種RDBMS來保存內容,包括Oracle、SQL
Server、Sybase和mySQL。新版本提供了一個新的模板引擎,JSP支持,一種新的連接管理系統,提高了穩定性。
JUnit 【Java開源測試工具】
JUnit是由 Erich Gamma 和 Kent Beck 編寫的一個回歸測試框架(regression testing
framework)。Junit測試是程序員測試,即所謂白盒測試,因為程序員知道被測試的軟體如何(How)完成功能和完成什麼樣(What)的功能。Junit是一套框架,繼承TestCase類,就可以用Junit進行自動測試了。
BlueJ 【Java開源IDE】
BlueJ是一個專門為入門級教學設計的JavaTM 開發環境。它是由澳大利亞墨爾本Monash大學BlueJ小組設計並開發的。
XWiki 【Java開源Wiki系統】
XWiki是一個強大的Java開源的Wiki引擎。它支持一些受歡迎的特性如:
內 容管理(瀏覽/編輯/預覽/保存),
支持附件,
版本控制,
全文本搜索,
權 限管理
使用Hibernate進行數據存儲,
RSS輸出與顯示外部的RSS feeds,
多 語言支持,
提供XML/RPC的API,
WYSIWYG HTML編輯器,
導出為PDF
Groovy 腳本支持等等....。
EJBCA 【Java開源網路伺服器端組件】
EJBCA是一個全功能的CA系統軟體,它基於J2EE技術,並提供了一個強大的、高性能並基於組件的CA。EJBCA兼具靈活性和平台獨立性,能夠獨立使用,也能和任何J2EE應用程序集成。
JXTA 【Java開源其它項目】
Sun微系統公司公開了旨在建立P2P(Peer to
Peer)通用技術基礎的JXTA計劃。JXTA技術是網路編程和計算的平台,用以解決現代分布計算尤其是點對點(P2P)計算中出現的問題。
JXTA將建立核心的網路計算技術,提供支持在任何平台、任何地方以及任何時間實現P2P計算的一整套簡單、小巧和靈活的機制。JXTA首先將歸納目前
P2P的功能特別,而後建立核心的技術來表達目前的P2P計算的局限性。其重點是創建基本的機制,而具體的策略選擇權則交給應用的開發者。JXTA將充分利用XML、Java等開放技術,使得UNIX操作系統更強大和靈活,比如利用管道(Pipes)傳輸Shell命令實現復雜的計算任務。JXTA支持
P2P應用的基本功能來建立一個P2P系統,還將努力證實這些可以成為建立更高層功能的基礎構造模塊。JXTA架構可以分為三個層面:JXTA核心層、
JXTA業務層和JXTA應用層。
DWR 【Java開源AJAX框架】
DWR(Direct Web
Remoting)是一個WEB遠程調用框架.利用這個框架可以讓AJAX開發變得很簡單.利用DWR可以在客戶端利用JavaScript直接調用服務端的Java方法並返回值給JavaScript就好像直接本地客戶端調用一樣(DWR根據Java類來動態生成JavaScrip代碼).它的最新版本
DWR0.6添加許多特性如:支持Dom Trees的自動配置,支持Spring(JavaScript遠程調用spring
bean),更好瀏覽器支持,還支持一個可選的commons-logging日記操作.
ZK 【Java開源AJAX框架】
ZK是一個Ajax Java Web框架,利用少量代碼就能夠開發出擁有Rich
UI的Web應用。ZK提供基於XUL的標記語言和事件驅動的組件,可以讓你像開發桌面應用程序一樣簡單。支持EL表達式和腳本語言包括:JavaScript、Ruby和Groovy等。支持Annotation及數據綁定。集成Google
Maps、FCKeditor、DOJO以及Timeline。
B. Java妗嗘灦MyBatis宸ヤ綔嫻佺▼鏄鎬庢牱鐨
涓銆丮yBatis 綆浠婱yBatis 鏄涓嬈句紭縐鐨勬敮鎸佽嚜瀹氫箟SQL銆佸瓨鍌ㄨ繃紼嬩互鍙婇珮綰ф槧灝勭殑鎸佷箙灞傛嗘灦銆傚畠娑堥櫎浜嗗嚑涔庢墍鏈夌殑JDBC浠g爜錛屽悓鏃朵篃涓嶉渶瑕佹墜鍔ㄨ劇疆鍙傛暟鍜岃幏鍙栫粨鏋溿侻yBatis 鑳藉熶嬌鐢ㄧ畝鍗曠殑XML鏍煎紡鎴栨敞瑙f潵閰嶇疆錛岃兘澶熸槧灝勫熀鏈鐨勬暟鎹鍏冪礌銆丮ap鎺ュ彛鍜孭OJOs錛堟櫘閫欽ava瀵硅薄錛夊埌鏁版嵁搴撲腑鐨勮板綍銆
浜屻丮yBatis 宸ヤ綔嫻佺▼1. 鍔犺澆閰嶇疆騫跺垵濮嬪寲瑙﹀彂鏉′歡錛氬姞杞介厤緗鏂囦歡鎴朖ava浠g爜娉ㄨВ銆傞厤緗淇℃伅琚鍔犺澆鎴愪負MappedStatement瀵硅薄錛屽瓨鍌ㄥ湪鍐呭瓨涓銆2. 鎺ユ敹璋冪敤璇鋒眰瑙﹀彂鏉′歡錛氳皟鐢∕yBatis鎻愪緵鐨凙PI銆備紶鍏ュ弬鏁幫細SQL鐨処D鍜屼紶鍏ュ弬鏁板硅薄銆傚勭悊榪囩▼錛氳鋒眰琚浼犻掔粰涓嬪眰鐨勮鋒眰澶勭悊灞傝繘琛屽勭悊銆3. 澶勭悊鎿嶄綔璇鋒眰瑙﹀彂鏉′歡錛欰PI鎺ュ彛灞備紶閫掕鋒眰榪囨潵銆備紶鍏ュ弬鏁幫細SQL鐨処D鍜屼紶鍏ュ弬鏁板硅薄銆傚勭悊榪囩▼錛(A) 鏍規嵁SQL鐨処D鏌ユ壘瀵瑰簲鐨凪appedStatement瀵硅薄銆(B) 鏍規嵁浼犲叆鍙傛暟瀵硅薄瑙f瀽MappedStatement瀵硅薄錛屽緱鍒版渶緇堣佹墽琛岀殑SQL鍜屾墽琛屼紶鍏ュ弬鏁般(C) 鑾峰彇鏁版嵁搴撹繛鎺ワ紝鏍規嵁寰楀埌鐨勬渶緇圫QL璇鍙ュ拰鎵ц屼紶鍏ュ弬鏁板埌鏁版嵁搴撴墽琛岋紝騫跺緱鍒版墽琛岀粨鏋溿(D) 鏍規嵁MappedStatement瀵硅薄涓鐨勭粨鏋滄槧灝勯厤緗瀵瑰緱鍒扮殑鎵ц岀粨鏋滆繘琛岃漿鎹㈠勭悊錛屽苟寰楀埌鏈緇堢殑澶勭悊緇撴灉銆(E) 閲婃斁榪炴帴璧勬簮銆4. 榪斿洖澶勭悊緇撴灉灝嗘渶緇堢殑澶勭悊緇撴灉榪斿洖緇欑敤鎴楓
涓夈丮yBatis 鍔熻兘鏋舵瀯1. API鎺ュ彛灞傦細鎻愪緵緇欏栭儴浣跨敤鐨勬帴鍙API錛屽紑鍙戜漢鍛橀氳繃榪欎簺鏈鍦癆PI鏉ユ搷浣滄暟鎹搴撱2. 鏁版嵁澶勭悊灞傦細璐熻矗鍏蜂綋鐨凷QL鏌ユ壘銆丼QL瑙f瀽銆丼QL鎵ц屽拰鎵ц岀粨鏋滄槧灝勫勭悊絳夈傚畠鐨勪富瑕佺洰鐨勬槸鏍規嵁璋冪敤鐨勮鋒眰瀹屾垚涓嬈℃暟鎹搴撴搷浣溿3. 鍩虹鏀鎾戝眰錛氳礋璐f渶鍩虹鐨勫姛鑳芥敮鎾戱紝鍖呮嫭榪炴帴綆$悊銆佷簨鍔$$悊銆侀厤緗鍔犺澆鍜岀紦瀛樺勭悊錛岃繖浜涢兘鏄鍏辯敤鐨勪笢瑗匡紝灝嗗畠浠鎶藉彇鍑烘潵浣滀負鏈鍩虹鐨勭粍浠躲備負涓婂眰鐨勬暟鎹澶勭悊灞傛彁渚涙渶鍩虹鐨勬敮鎾戙
鍥涖佸揩閫熷叆闂1. 瀹炰綋綾籙ser綾繪槸鐢ㄦ埛琛ㄥ瑰簲鐨勫疄浣撶被錛屽寘鍚玦d銆乶ame鍜宎ge灞炴с2. 鏄犲皠鏂囦歡UserMapping.xml瀹氫箟浜嗘牴鎹鐢ㄦ埛ID鏌ヨ㈢敤鎴風殑SQL璇鍙ャ3. 璧勬簮鏂囦歡mybatis.xml閰嶇疆浜嗘暟鎹搴撹繛鎺ヤ俊鎮鍜屾槧灝勬枃浠惰礬寰勩4. 嫻嬭瘯綾籘ests閫氳繃MyBatis API鏌ヨ㈢敤鎴蜂俊鎮錛屽苟鎵撳嵃緇撴灉銆
浜斻佺粨鏋滆緭鍑烘祴璇曟垚鍔燂紝杈撳嚭鏌ヨ㈠埌鐨勭敤鎴蜂俊鎮銆
C. java在md文件寫sql的是什麼框架
在配置文件寫sql嗎?
是的話,mybatis就是,好像hibernate也是。
D. java的框架有哪些
Java框架可以簡化開發難度,更便於我們開發程序。所以學好Java框架還是比較重要的。
Java的框架主要有:SpringMVC、Spring、Mybatis、Dubbo、Maven、RabbitMQ、Log4j、Ehcache、Redis、Shiro。
不過這十個我們不需要都學會,只要學會其中四五個比較常用的就可以。
第一個,SpringMVC。Spring MVC是一種基於Java地實現了Web MVC設計模式的請求驅動類型的輕量級Web框架,主要是幫助我們簡化日常的Web開發;
第二個,Mybatis。MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優秀持久層框架;
第三個,Spring。Spring深得企業的青睞;
第四個,Maven。越來越多的開發人員開始使用maven。
掌握以上四種框架,你在找工作的時候就會比較吃香。
E. 如何編寫Java的MyBatis框架中SQL語句映射部分
1..增刪改查、參數、緩存
1.1 select 舉例如下:
查詢學員信息,一個String參數,參數標識為#{studentID},並返回一個StudentEntity類型的對象
<select id="getStudent" parameterType="String" resultMap="studentResultMap">
SELECT ST.STUDENT_ID,
ST.STUDENT_NAME,
ST.STUDENT_SEX,
ST.STUDENT_BIRTHDAY,
ST.CLASS_ID
FROM STUDENT_TBL ST
WHERE ST.STUDENT_ID = #{studentID}
</select>
1.2 insert 舉例如下:
插入數據,一個String參數,參數標識為#{studentID},並返回一個StudentEntity類型的對象。
<insert id="insertStudent" parameterType="StudentEntity">
INSERT INTO STUDENT_TBL (STUDENT_ID,
STUDENT_NAME,
STUDENT_SEX,
STUDENT_BIRTHDAY,
CLASS_ID)
VALUES (#{studentID},
#{studentName},
#{studentSex},
#{studentBirthday},
#{classEntity.classID})
</insert>
1.3 update 舉例如下:
更新學員信息
<update id="updateStudent" parameterType="StudentEntity">
UPDATE STUDENT_TBL
SET STUDENT_TBL.STUDENT_NAME = #{studentName},
STUDENT_TBL.STUDENT_SEX = #{studentSex},
STUDENT_TBL.STUDENT_BIRTHDAY = #{studentBirthday},
STUDENT_TBL.CLASS_ID = #{classEntity.classID}
WHERE STUDENT_TBL.STUDENT_ID = #{studentID};
</update>
1.4 delete 舉例如下:
刪除學員信息:
<delete id="deleteStudent" parameterType="StudentEntity">
DELETE FROM STUDENT_TBL WHERE STUDENT_ID = #{studentID}
</delete>
2.ResultMap
SQL映射xml文件是為了放置所有sql語句,需要定義一個workspace,正常是介面類的路徑。SQL語句映射文件寫好後,需要在MyBatis配置文件mappers標簽中引用。
舉例如下:
<mappers>
<mapper resource="cn/te/ninixie/manager/data/mappers/UserMapper.xml" />
<mapper resource="cn/te/ninixie/manager/data/mappers/StudentMapper.xml" />
<mapper resource="cn/te/ninixie/manager/data/mappers/ClassMapper.xml" />
<mapper resource="cn/te/ninixie/manager/data/mappers/TeacherMapper.xml" />
</mappers>
當Java介面與xml文件在一個相對路徑下,那麼MyBaits配置文件的napper中可以不用聲明。
ResultMaps的作用,就是簡單的語句而不需要多餘的結果映射,更多復雜的語句,除了只要一些絕對必須的語句描述關系以外,就不需要其它的了。
resultMap屬性:type為java實體類;id為此resultMap的標識。
resultMap可以設置的映射:
2.1 constructor:用來將結果發射給一個實例化好的類的構造器
idArg_ID 參數:將結果集標記為ID,為了方便全局調用
arg –反射到構造器的通常結果
2.2 id結果,將結果集標記為ID,為了方便全局調用
2.3 result:反射到JavaBean的普通結果
2.4 association:復雜類型的結合,多個結果合成的類型
2.5 collection:復雜類型結合
2.6 resultMap的集合,也可以引用到其他
2.7 discriminator:使用一個結果值為了決定使用哪個結果集。
F. 什麼是mybatis框架
MyBatis 本是apache的一個開源項目iBatis, 是一個優秀的持久層框架。它對jdbc的操作資料庫的過程進行封裝,使開發者只需要關注 SQL 本身,而不需要花費精力去處理例如注冊驅動、創建connection、創建statement、手動設置參數、結果集檢索等jdbc繁雜的過程代碼。Mybatis通過xml或註解的方式將要執行的各種statement(statement、preparedStatemnt)配置起來,並通過java對象和statement中的sql進行映射生成最終執行的sql語句,最後由mybatis框架執行sql並將結果映射成java對象並返回。