Apache iBATIS

Apache iBATIS
Developer(s)Apache Software Foundation
Written inJava, .NET, Ruby
Operating systemCross-platform
TypePersistence framework
LicenseApache License 2.0
Websiteibatis.apache.org

iBATIS is a persistence framework which automates the mapping between SQL databases and objects in Java, .NET, and Ruby on Rails. In Java, the objects are POJOs (Plain Old Java Objects). The mappings are decoupled from the application logic by packaging the SQL statements in XML configuration files. The result is a significant reduction in the amount of code that a developer needs to access a relational database using lower level APIs like JDBC and ODBC.

Other persistence frameworks such as Hibernate allow the creation of an object model (in Java, say) by the user, and create and maintain the relational database automatically. iBATIS takes the reverse approach: the developer starts with a SQL database and iBATIS automates the creation of the Java objects. Both approaches have advantages, and iBATIS is a good choice when the developer does not have full control over the SQL database schema. For example, an application may need to access an existing SQL database used by other software, or access a new database whose schema is not fully under the application developer's control, such as when a specialized database design team has created the schema and carefully optimized it for high performance.

On May 21, 2010 the development team forked the code creating a new project called MyBatis and making new releases there. As a consequence the Apache iBATIS project became inactive and was moved to the Apache Attic in June 2010.

Usage

For example, assume there is a database table PRODUCT (PROD_ID INTEGER, PROD_DESC VARCHAR(64)) and a Java class com.example.Product (id: int, description: String). To read the product record having the key PROD_ID into a new Product POJO, the following mapping is added into an iBATIS XML mapping file:

    <select id="getProduct" parameterClass="java.lang.Long" resultClass="com.example.Product">
 	select PROD_ID as id,
               PROD_DESC as description
          from PRODUCT
         where PROD_ID = #value#
    </select>

A new Java Product object can then be retrieved from the database for product number 123 as follows:

    Product resultProduct = (Product) sqlMapClient.queryForObject("getProduct", 123);

In the mapping file example, #value# refers to the long integer value passed into the query. If the parameter is a Java object, then values from properties on that object can be inserted into the query using a similar # notation. For example, if the parameter class is a com.example.Product which has a property called id, then #value# can be replaced with #id#. The sqlMapClient object is an instance of class com.ibatis.sqlmap.client.SqlMapClient.

Availability

The founder of iBATIS has publicly stated his dismay with Java 5, but has continued to release new versions of iBATIS for Java. Versions 2.3.1 and 2.3.2 came out in April 2008, and 2.3.3 in July.

The framework is currently available in Java, .NET, and Ruby (RBatis) versions. The jBati project is a JavaScript ORM inspired by iBATIS.

The Apache iBator tool is closely related: it connects to your database and uses its metadata to generate iBATIS mapping files and Java classes.

History

In 2001 a project called iBATIS was started by Clinton Begin. Originally the focus was on the development of cryptographic software solutions. The first product to be released by iBATIS was Secrets,[1] a personal data encryption and signing tool much like PGP. Secrets was written entirely in Java and was released under an open source license.

That year Microsoft published a paper[2] to demonstrate that its recent .NET 1.0 framework was more productive than Java. For that purpose Microsoft built its own version of Sun's Web "Pet Store", a Web project that Sun had used to show Java best practices (Java BluePrints). Microsoft claimed that .NET was 10 times faster and 4 times more productive than Java.

In 2002 Clinton developed an application called JPetStore[3] to demonstrate that Java could be more productive than .NET and could also do so while achieving a better architecture than was used in the Microsoft implementation.

JPetStore 1.0 had a big impact[4] and the database layer that Clinton used attracted the attention of the community. Soon, iBATIS Database Layer 1.0 project started, composed of two components: iBATIS DAO and iBATIS SQL Maps.

iBATIS 2.0 was released in June 2004.[5] It was a complete redesign while keeping the same features. Clinton donated the iBATIS name and code to Apache Software Foundation and the project stayed in the ASF for six years.

Eventually iBATIS DAO was deprecated, considering that better DAO frameworks were available, such as Spring Framework.

On May 19, 2010 iBATIS 3.0 was published and simultaneously the development team decided to continue the development of the framework at Google Code.[6] under a new project called MyBatis.

On June 16, 2010 Apache announced that iBATIS was retired and moved to the Apache Attic.

See also

References

  1. ^ iBATIS Secrets
  2. ^ Cat Fight in a Pet Store: J2EE vs. .NET
  3. ^ "JPetStore 1.0" (PDF). Archived from the original (PDF) on 2013-10-21. Retrieved 2013-09-08.
  4. ^ JPetStore 1.0 announcement on TheServerside.com
  5. ^ iBATIS 2.0 announcement
  6. ^ iBATIS Project Team Moving to Google Code

Bibliography

Read other articles:

Untuk tempat lain yang bernama sama, lihat Jati (disambiguasi). JatiDesaKantor Desa JatiNegara IndonesiaProvinsiJawa TengahKabupatenKaranganyarKecamatanJatenKode pos57731Kode Kemendagri33.13.11.2002 Luas... km²Jumlah penduduk... jiwaKepadatan... jiwa/km² Jati adalah desa di kecamatan Jaten, Karanganyar, Jawa Tengah, Indonesia. Pembagian wilayah Desa Jati terdiri dari beberapa dukuh: Dukuh Gotanon Jati Jetis Karangduren Karangsono Pundak Pundungrejo Senden Banaran Perumahan Di Desa Jati...

 

 

Danmarks NationalbankLogoLogoKantor pusatKantor pusatHavnegade 5, CopenhagenDidirikan1 Agustus 1818; 205 tahun lalu (1818-08-01)Pemilik100% kepemilikan negara[1]Direktur KerajaanLars RohdeNegaraKerajaan DenmarkMata uangKrona DenmarkDKK (ISO 4217)Cadangan479,065,000,000DKK[2]Situs webOfficial Website Danmarks Nationalbank (di Denmark dikenal hanya Nationalbanken) adalah bank sentral dari Kerajaan Denmark. Merupakan anggota non-zona euro dari Sistem Bank Sentral Eropa ...

 

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يوليو 2019) تشيستر إدوارد إيد معلومات شخصية الميلاد سنة 1878 [1][2]  سبرينغفيلد  تاريخ الوفاة سنة 1944 (65–66 سنة)[1][2]  مواطنة الولايات المتحدة  الحي...

Pour les articles homonymes, voir Dijkstra. Cet article est une ébauche concernant le hockey sur gazon et une personnalité néerlandaise. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Wieke Dijkstra Wieke Dijkstra en 2009 Contexte général Sport Hockey sur gazon Biographie Nationalité sportive Néerlandaise Nationalité Royaume des Pays-Bas Naissance 19 juin 1984 (39 ans) Lieu de naissance Amsterdam T...

 

 

Keuskupan Agung Messina-Lipari-Santa Lucia del MelaArchidioecesis Messanensis-Liparensis-Sanctae LuciaeKatolik Katedral Kenaikan di MessinaLokasiNegaraItaliaProvinsi gerejawiMessina-Lipari-Santa Lucia del MelaStatistikLuas1.848 km2 (714 sq mi)Populasi- Total- Katolik(per 2013)517.300 (perkiraan)515,900 (perkiraan) (99.7%)Paroki245Imam232 (diosesan)140 (Ordo Relijius)80 (Deakon Permanen)InformasiDenominasiGereja KatolikRitusRitus RomaPendirianAbad ke-1Katedra...

 

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: List of regional organizations by population – news · newspapers · books · scholar · JSTOR (August 2018) (Learn how and when to remove this template message) The following is a list of regional organizations by population. List Flag or Logo Organization Founde...

Chander Kishan Daphtary (1893 – Februari 1983) adalah seorang pengacara asal India dan Solisitor Jenderal India pertama dari 1950 sampai 1963. Ia menjadi Jaksa Agung India dari 1963 sampai 1968.[1] Ia merupakan Presiden Bar Association of India. Ia dinominasikan untuk Rajya Sabha, Dewan Tinggi Parlemen India dari 1972 sampai 1978.[2][3] Ia dianugerahi Padma Vibhushan pada 1967.[4] Referensi ^ Attorney General of Independent India Diarsipkan 2012-06-25 di Wayb...

 

 

Ini adalah nama Melayu; nama Sabu merupakan patronimik, bukan nama keluarga, dan tokoh ini dipanggil menggunakan nama depannya, Mohamad. Kata bin (b.) atau binti (bt.), jika digunakan, berarti putra dari atau putri dari. Yang Berhormat Datuk Seri HajiMohamad SabuSMW APمحمد سابو Menteri Pertanian dan Ketahanan Pangan MalaysiaPetahanaMulai menjabat 3 Desember 2022Perdana MenteriAnwar IbrahimPendahuluRonald KiandeePenggantiPetahanaMenteri Pertahanan MalaysiaMasa jabatan21 Mei 2018...

 

 

FlamesSingel oleh David Guetta dan Siadari album 7Dirilis22 Maret 2018 (2018-03-22)Direkam2017GenreSynth-pop, electropop[1] house[2] Durasi3:15LabelWhat a MusicPencipta Sia Furler David Guetta Christopher Braide Giorgio Tuinfort Marcus van Wattum Produser David Guetta Giorgio Tuinfort Marcus van Wattum Kronologi singel David Guetta Like I Do (2018) Flames (2018) Your Love (2018) Kronologi singel Sia Helium(2018) Flames(2018) Here I Am(2018) Video musikFlames di ...

Копыто Имеется у таксона копытные Противоположно лапа  Медиафайлы на Викискладе Разрез лошадиного копыта Копы́то — твёрдое роговое образование вокруг дистальных пальцевых фаланг копытных млекопитающих. Для парнокопытных принят термин копытце[1]. В анатомич�...

 

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (مارس 2019) كأس فرنسا لركوب الدراجات على الطريق الموسم الحاليكأس فرنسا لركوب الدراجات على الطريق 2019 تاريخ الإنشاء 1992 ا...

 

 

Wakil Bupati LamonganMêmayu raharjaning pråjå(Jawa) Memperindah ketenteraman daerahPetahanaDrs. K.H. Abdul Rouf, M.Ag.sejak 26 Februari 2021Masa jabatan5 tahunDibentuk2000Pejabat pertamaH. SoetartoSitus weblamongankab.go.id Berikut ini adalah daftar Wakil Bupati Lamongan dari masa ke masa. No Wakil Bupati Mulai Jabatan Akhir Jabatan Prd. Ket. Bupati 1 H.Soetarto 2000 2005 1   H.MasfukS.H. 2 Tsalits Fahmi Zaka 2005 2010 2   3 Amar Syaifudin 2010 2015 3   H.FadeliS.H., M....

Commune in Normandy, FranceAubignyCommuneAubigny Town HallLocation of Aubigny AubignyShow map of FranceAubignyShow map of NormandyCoordinates: 48°55′08″N 0°12′49″W / 48.9189°N 0.2136°W / 48.9189; -0.2136CountryFranceRegionNormandyDepartmentCalvadosArrondissementCaenCantonFalaiseIntercommunalityPays de FalaiseGovernment • Mayor (2020–2026) Michel Lecapitaine[1]Area15.02 km2 (1.94 sq mi)Population (2021)[2 ...

 

 

Grand Prix Italia 2000 Lomba ke-14 dari 17 dalam Formula Satu musim 2000← Lomba sebelumnyaLomba berikutnya → Detail perlombaanTanggal 10 September 2000 (2000-09-10)Nama resmi LXXI Gran Premio Campari d'ItaliaLokasi Autodromo Nazionale di Monza, Monza, Lombardia, ItaliaSirkuit Sirkuit balap permanenPanjang sirkuit 5.793 km (3.600 mi)Jarak tempuh 53 putaran, 306.764 km (190.614 mi)Cuaca CerahPosisi polePembalap Michael Schumacher FerrariWaktu 1:23.770Putaran tercepa...

 

 

2024 Moldovan presidential election ← 2020 20 October 2024 2028 → Incumbent President Maia Sandu PAS Politics of Moldova Government of Moldova Constitution Human rights Neutrality Parliament President Igor Grosu Judiciary Constitutional Court Supreme Court Executive President Maia Sandu Prime Minister Dorin Recean Cabinet Recean Cabinet Administrative divisions Elections Presidential: 201620202024 Parliamentary:20192021Next Political parties Foreign relations Ministry o...

Cet article concerne la langue kighize. Pour le peuple kirghiz, voir Kirghizes. Kirghizeкыргыз тили, кыргызчаقىرعىزچا, قىرعىز تىلى Pays Kirghizistan, Tadjikistan, Chine, Afghanistan, Russie Nombre de locuteurs 4 331 020[1] Typologie SOV, agglutinante, accusative, à accent d'intensité Classification par famille - langues turciques - langues kiptchak - groupe kiptchak méridional (aralo-caspien) - kirghiz Statut officiel Langue officielle Kir...

 

 

Bennett MountainBennett Mountain, viewed from Bennett ValleyHighest pointElevation1,909 ft (582 m) NAVD 88[1]Coordinates38°24′48″N 122°37′30″W / 38.413226469°N 122.624973647°W / 38.413226469; -122.624973647[1]GeographyBennett MountainSonoma County, California, U.S. Parent rangeSonoma MountainsTopo mapUSGS KenwoodClimbingEasiest routeUnpaved road Bennett Mountain, also commonly known as Bennett Peak,[2] is a 1...

 

 

أبناء للبيع أبناء للبيع  الصنف دراما، جريمة تاريخ الصدور 17 سبتمبر 1973 مدة العرض 100 دقيقة البلد  مصر اللغة الأصلية العربية الطاقم المخرج نيازي مصطفى الإنتاج سعد شنب قصة سعد شنب سيناريو عبد الحي أديب حوار رأفت الخياطرؤوف حلمي البطولة رشدي أباظةناهد يسريفاطمة مظهر صناعة ...

1980 book by Leslie Charteris Count On the Saint US hardcover editionAuthorGraham Weaver and Donne Avenell, based upon characters by Leslie CharterisLanguageEnglishSeriesThe SaintGenreMystery, NovellasPublisherThe Crime ClubPublication date1980Publication placeUnited KingdomMedia typePrint (Hardback & Paperback)ISBN0-340-25384-3OCLC7818212Preceded byThe Saint and the Templar Treasure Followed bySalvage for the Saint  Count On the Saint is a collection of two myste...

 

 

  لمعانٍ أخرى، طالع نفاذية (توضيح). النفاذية البصرية القريبة من الأشعة تحت الحمراء عبر الياقوت. لاحظ أشرطة الامتصاص العريضة الخضراء والزرقاء مع شريط امتصاص ضيق عند طول موجة 684 نانومتر وهي طول موجة الليزر الياقوتي. النفاذية في علم البصريات (بالإنجليزية: transmittance) والمطيا�...