Mybatis était prédécesseur d'Ibatis. Il s'agit d'un cadre de couche de persistance de données (ORM). MyBatis est un excellent cadre de couche de persistance qui prend en charge les requêtes SQL simples, les procédures stockées et la cartographie avancée. MyBatis élimine les paramètres manuels de presque tous les code et paramètres JDBC et recherchez des ensembles de résultats. MyBatis utilise des XML ou des annotations simples pour la configuration et la cartographie originale, les interfaces de cartographie et les Pojos de Java (Planifier les anciens objets Java, les objets Java ordinaires) en enregistrements dans la base de données. Chaque application MyBatis utilise principalement des instances SQLSessionFactory, et une instance SQLSessionFactory peut être obtenue via SQLSessionFactoryBuilder.
Le code spécifique est le suivant:
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Configuration public "- // mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3config.dtd"> <configuration> alias = "biens" type = "com.clark.model.goods"> </pactalias> </pactaliases> <Environments default = "Development"> <Environment id = "Development"> <transactionManager type = "jdbc" /> <dataSource type = "Poolled"> <propriété name = "Driver" value = "Oracle.jdbc.Driver Value = "JDBC: Oracle: Thin: @ 172.30.0.125: 1521: ORADB01" /> <propriété name = "username" value = "Settlement" /> <Propriété Nom = "Password" Value = "Settlement" /> </ DataSource> </ Environment> </ Environments> </ Mapper Resource = "com / CLARK </FIGIGURATION> <? XML Version = "1.0" Encoding = "UTF-8"?> <! DocType Mapper public "- // Mybatis.org//dtd Mapper 3.0 // en" "http://mybatis.org/dtd/mybatis"> <! requête au modèle - goods -> <resultMap type = "com.clark.model.goods" id = "t_good"> <id column = "id" propriété = "id" /> <résultat chronn = "cate_id" propriété = "cateid" /> <résultat column = "name" propriété = "name" /> <résultat colonne = "prix" Property = " Property = "Description" /> <Result Column = "ORDER_NO" Property = "OrderNo" /> <Result Column = "Update_time" Property = "UpdateTime" /> </ ResultMap> <! - Return Goods Type basé sur ID Query <Cycias Alias = "Goods" Type = "com.clark.model.goods"> </ tycias> -> <! - id = "selectGoodByid" ParameterType = "int" resultType = "bien"> sélectionner id, cate_id, nom, prix, description, ordonnance_no, update_time à partir des marchandises où id = # {id} </ select> <! - Query tous les marchandises return le resulture ID, CATE_ID, NAME, PRIX, DESCRIPTION, ORDANCE_NO, UPDATE_TIME FROM GOODS </ SELECT> <! - Spécifiez ParameterType = Map Where Map Is Map <String, PageBean> Map -> <Select Id = "SelectGoodsByPage" ResultMap = "T_Good" ParametType = "Map"> <! From (SELECT G marchandises (id, cate_id, nom, prix, description, order_no, update_time) valeurs (# {id}, # {cateid}, # {name}, # {prix}, # {description}, # {OrderNo}, # {upateTeTime}) </ssert> <! - Mise à jour Goods " Mise à jour GOODS G SET G.NAME = # {nom}, G.Order_No = # {OrderNo} Where g.id = # {id} </ update> <! - Supprimer le type de paramètre des marchandises est int -> <delete id = "Deletegood" ParameterType = "int"> Supprimer de Goods G Where G.id = # {id} </lelete> </dawer> package com.cark.model; Importer java.util.date; Goods de classe publique {ID entier privé; entier privé Cateid; nom de chaîne privé; double prix privé; Description de la chaîne privée; OrderNo entier privé; Date privée UpdateTime; Goods publics () {} Goods publics (ID entier, entier Cateid, nom de chaîne, double prix, description de la chaîne, ordre entier, date de mise à jour) {super (); this.id = id; this.cateid = cateid; this.name = name; this.price = prix; this.description = description; this.OrderNo = OrderNo; this.updateTime = updateTime; } public Integer getID () {return id; } public void setid (INGER ID) {this.id = id; } public Integer getCateId () {return cateid; } public void setCateId (entier cateid) {this.cateid = cateid; } public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } public double getPrice () {prix de retour; } public void setPrice (double prix) {this.price = prix; } public String getDescription () {return Description; } public void setDescription (String Description) {this.description = Description; } public entier getOrderNo () {return OrderNo; } public void SetOrderNo (entier OrderNo) {this.OrderNo = OrderNo; } Public Date gettimestamp () {return updateTime; } public void settimestamp (date updateTime) {this.updateTime = updateTime; } @Override public String toString () {return "[Les biens incluent: id =" + this.getId () + ", name =" + this.getName () + ", orderNo =" + this.getOrderNo () + ", cateid =" + this.getCateId () + ", updateTime =" + this.gettimestamp () + "]";; }} package com.clark.model; // un objet de pagination simulé PageBean public class PageBean {// start Number Private Integer startNumber; // Numéro de fin privé Endnumber entier; Public PageBean () {} public PageBean (Integer startNumber, Integer Endnumber) {super (); this.startNumber = startNumber; this.endNumber = endnumber; } public entier getStartNumber () {return startNumber; } public void setStartNumber (Integer startNumber) {this.startNumber = startNumber; } public entier getEndNumber () {return endnumber; } public void setendNumber (Integer endnumber) {this.endNumber = endnumber; }} package com.clark.mybatis; Importer java.io.ioException; Importer java.io.reader; import java.util.hashmap; Importer java.util.list; importation java.util.map; import org.apache.ibatis.io.resources; import org.apache.ibatis.session.sqlSession; import org.apache.ibatis.session.sqlSessionFactory; import org.apache.ibatis.session.sqlSessionFactoryBuilder; import com.clark.model.goods; import com.clark.model.pageBean; classe publique TestGoods {public static void main (String [] args) lève ioException {String Resource = "Configuration.xml"; Lecteur lecteur = null; SQLSessionFactory SessionFactory = null; SESSESSE SQLSESSION = NULL; essayez {Reader = Resources.getResourceAsReader (ressource); SessionFactory = new SqlSessionFactoryBuilder (). Build (Reader); session = sessionfactory.opencession (); PageBean PageBean = new PageBean (8, 20); Map <string, pageBean> map = new HashMap <String, pageBean> (); map.put ("PageBean", pageBean); Liste <Toods> gs = findgoodsByPage (session, map); pour (marchandises de marchandises2: gs) {System.out.println (bourse2.toString ()); }} catch (ioException e) {e.printStackTrace (); } enfin {session.close (); Reader.Close (); }} // trouver par id public static biens findgoodbyid (SQLSession Session, INGER ID) {// Clark correspond à l'espace de noms Nom = "Clark" dans le fichier de configuration Goodmapper.xml. Marchandises de biens = (marchandises) Session.Selectone ("Clark.SelectGoodByid", id); marchandises de retour; } // Find All Public Static List <Toods> FindAllGoods (SQLSession Session) {List <Moods> Goods = Session.SelectList ("Clark.SelectAllGoods"); marchandises de retour; } public static List <Toods> findGoodsByPage (SQLSession Session, Map <String, PageBean> Map) {List <Toods> Goods = Session.SelectList ("Clark.SelectGoodsByPage", Map); marchandises de retour; } // insérer une marchandise publique statique intssergoods (session SQLSession, marchandises) {int result = session.insert ("Clark.insertGood", marchandises); session.Commit (); Résultat de retour; } // Mettre à jour les marchandises publiques statiques Int Updategoods (SQLSession Session, marchandises) {int result = session.update ("Clark.updategood", marchandises); session.Commit (); Résultat de retour; } // Supprimer des marchandises publiques statiques int deletegood (SQLSession Session, INTER ID) {int result = session.delete ("Clark.Deletegood", id); session.Commit (); Résultat de retour; }}Je vous présenterai les connaissances pertinentes sur les méthodes de MyBatis pour mettre en œuvre la requête d'addition, de suppression, de modification et de pagination. Je continuerai à vous le mettre à jour plus tard. Merci pour votre soutien continu pour le site Web du réseau Wulin.