Mybatis era predecesor de Ibatis. Es un marco de la capa de persistencia de datos (ORM). MyBatis es un excelente marco de capa de persistencia que admite consultas SQL simples, procedimientos almacenados y mapeo avanzado. MyBatis elimina la configuración manual de casi todos los códigos y parámetros JDBC y busca conjuntos de resultados. MyBatis utiliza XML o anotaciones simples para la configuración y mapeo original, mapeo de interfaces y POJOS de Java (planifica los objetos Java antiguos, objetos Java ordinarios) en registros en la base de datos. Cada aplicación MyBatis utiliza principalmente instancias SQLSessionFactory, y se puede obtener una instancia de SQLSessionFactory a través de SQLSessionFactoryBuilder.
El código específico es el siguiente:
<? xml versión = "1.0" encoding = "utf-8"?> < alias = "bienes" type = "com.clark.model.goods"> < /typealias> < /typealiases> <entornos default = "desarrollo"> <entorno id = "desarrollo"> <transaccionManager type = "jdbc" /> <dataSource type = "agrupado"> <name de propiedad = "valor" valor = "oracle.jdbc.driver.oracliver" /"n. valor = "jdbc: oracle: delgado:@172.30.0.125: 1521: oradb01"/> <propiedad name = "username" value = "settlement"/> <propiedad name = "contraseña" value = "settlement"/> </dataSource> </entorno> </entornos> <mapper recursos = "com/model/model/booksmapper.xml" </configuración> <? xml versión = "1.0" encoding = "utf-8"?> <! Doctype mapper public "-// mybatis.org//dtdd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" <mapper namespace = "" db consulta a model --goods-> <resultmap type = "com.clark.model.goods" id = "t_good"> <id columna = "id" propiedad = "id"/> <resultado columna = "cate_id" propiedad = "cateid"/> <resultado columna = "nombre" propiedad = "nombre"/> <resulte de la columna = "Propiedad" Propiedad = "precio"/> <resultado columna columna "Descruion de la columna" de result " column="order_no" property="orderNo"/> <result column="update_time" property="updateTime"/> </resultMap> <!-- Return Goods type based on id query<typeAlias alias="goods" type="com.clark.model.Goods"></typeAlias>--> <!--The difference between using resultMap and resultType--> <select id="selectGoodById" parametertype = "int" resultType = "bienes"> seleccionar id, cate_id, nombre, precio, descripción, orden_no, update_time de mercancías donde id = #{id} </select> <!-Query All Bods ReturnMap Type-> <Select ID = "SelectallGoods" ResultMap = "T_Good"> ID, cate_id, Nombre, precio, descripción, Order Orders "SelectMap" De ResultMap = "T_Good"> ID, cate_id, Nombre, precio, descripción, Order Orders, uponos "de" Time de "TOUNTO" TIME </SELECTO </SELECTO </SELECTO </SELECTO </SELECTO </SELECTO </SELECT SELECTO. < <= #{PageBean.endNumber}) donde rn> = #{pageBean.startnumber} orden por id asc]]> </select> <!-Se agregó el tipo de parámetro de mercancías como bienes-> <insertar id = "insertgood" parametertype = "bienes"> insertar en bienes (id, cate_id, nombre, precio, descripción, orden_no, update_time) valores (#{id},#{cateid},#{name},#{precio},#{description},#{ordenno},#{updateTime}) </sert> <!-Update Bods Tipo de parámetro como bien = #{Orderno} donde g.id = #{id} </palate> <!-El tipo de parámetro de delete mercancías es int-> <delete id = "deletegood" parametertype = "int"> eliminar de los bienes g.id = #{id} </elete> </pper> paquete com.clark.model; import java.util.date; Bienes de clase pública {ID de entero privado; entero privado Cateid; nombre de cadena privada; precio doble privado; Descripción de la cadena privada; Orden de entero privado; Fecha privada de actualización; Public Goods () {} Public Goods (ID de entero, Integer CateID, Nombre de cadena, precio doble, descripción de cadena, OrderNo Integer, fecha UpdateTime) {super (); this.id = id; this.cateID = cateid; this.name = name; this.price = precio; this.description = Descripción; this.OrderNo = Orderno; this.updateTime = updateTime; } public integer getId () {return id; } public void setid (ID de entero) {this.id = id; } public Integer getCateId () {return cateID; } public void setCateId (Integer cateid) {this.cateId = cateid; } public String getName () {nombre de retorno; } public void setName (nombre de cadena) {this.name = name; } public Double GetPrice () {Return Price; } public void setPrice (doble precio) {this.price = precio; } public String getDescription () {return Descripción; } public void setDescription (String Descripción) {this.description = Descripción; } public integer getOrderNo () {return ordenno; } public void setOrderNo (Integer Orderno) {this.Orderno = Orderno; } fecha pública getTimestamp () {return updateTime; } public void settimestamp (fecha updateTime) {this.updateTime = updateTime; } @Override public string toString () {return "[Bods include: id ="+this.getId ()+", name ="+this.getName ()+", ordenno ="+this.getOrderNo ()+", cateid ="+this.getCateId ()+", updetime ="+this.gettimestamp ()+"];"; }} paquete com.clark.model; // un objeto de paginación simulado PageBean clase pública PageBean {// Iniciar número de entero privado inicio number; // Número final Integer privado EndNumber; public PageBean () {} public PageBean (Integer StartNumber, Integer EndNumber) {super (); this.startNumber = startNumber; this.endNumber = EndNumber; } public Integer getStartNumber () {return startNumber; } public void setStartNumber (Integer StartNumber) {this.StartNumber = startNumber; } public Integer getendNumber () {return endNumber; } public void setendNumber (Integer EndNumber) {this.endNumber = endNumber; }} paquete com.clark.mybatis; import java.io.ioException; import java.io.reader; import java.util.hashmap; import java.util.list; import java.util.map; importar org.apache.ibatis.io.resources; importar org.apache.ibatis.session.sqlsession; importar org.apache.ibatis.session.sqlsessionFactory; importar org.apache.ibatis.session.sqlsessionFactoryBuilder; import com.clark.model.goods; import com.clark.model.pagebean; public class testGoods {public static void main (string [] args) lanza ioexception {string recurse = "configuration.xml"; Lector lector = null; SqlSessionFactory sessionFactory = null; Sqlsession session = null; prueba {lector = recursos.getResourCeAsreader (recurso); sessionFactory = new SQLSessionFactoryBuilder (). Build (Reader); session = sessionFactory.opensession (); PageBean PageBean = nuevo PageBean (8, 20); MAP <String, PageBean> MAP = New HashMap <String, PageBean> (); map.put ("PageBean", PageBean); Lista <sets> gs = findGoodSbyPage (sesión, map); para (bienes bienes2: gs) {system.out.println (bienes2.tostring ()); }} catch (ioException e) {E.PrintStackTrace (); } finalmente {session.close (); lector.close (); }} // Buscar por ID Public Static Goods FindGoodById (sesión de SQLSession, ID de entero) {// Clark corresponde a Namespace Name = "Clark" en el archivo de configuración GoodMapper.xml. Bienes bienes = (bienes) session.selectone ("Clark.selectgoodbyid", id); bienes de devolución; } // Encuentra todas las listas estáticas públicas <Sets> FindAllGoods (SQLSession Session) {List <Sets> Goods = Session.SelectList ("Clark.SelectallGoods"); bienes de devolución; } Public Static List <Sets> FindGoodSbyPage (SQLSESSION Session, MAP <String, PageBean> Map) {List <Sods> Goods = Session.SelectList ("Clark.SelectGoodSbyPage", MAP); bienes de devolución; } // Insertar una serie pública estática int InsertGoods (sesión de SQLSession, bienes de bienes) {int resultado = session.insert ("Clark.insertGood", bienes); session.commit (); resultado de retorno; } // Actualizar bienes públicos static int updateGoods (SQLSession Session, bienes bienes) {int resultado = session.update ("Clark.updategood", bienes); session.commit (); resultado de retorno; } // Eliminar bienes públicos estáticos inteletegood (SQLSession Session, Integer ID) {int result = session.delete ("Clark.DeletEgeood", id); session.commit (); resultado de retorno; }}Le presentaré el conocimiento relevante sobre los métodos de MyBatis para implementar la adición, eliminación, modificación y consulta de paginación. Continuaré actualizándolo más tarde. Gracias por su continuo apoyo para el sitio web de Wulin Network.