摘要:一個用于生成配置文件的插件使用方法呢是加入插件中然后執(zhí)行相關(guān)命令可以實現(xiàn)自動生成配置文件自動映射首先編寫無參的然后創(chuàng)建數(shù)據(jù)庫這次使用的是開發(fā)環(huán)境創(chuàng)建的數(shù)據(jù)庫數(shù)據(jù)庫類型如下編寫映射文件此時結(jié)果會自動映射到對象中根據(jù)對象自動調(diào)用方法然后進行賦
ps 一個用于生成MyBatis配置文件的插件 mybatis-generator自動映射
使用方法呢, 是加入maven插件中 然后執(zhí)行相關(guān)命令可以實現(xiàn)自動生成MyBatis配置文件
首先編寫無參的javabean
package com.ming.MyBatis.POJO; /** * @author ming */ public class Role { private int id; private String roleName; private String note; public Role(){ } /** * @param id */ public void setId(int id) { this.id = id; } /** * @param roleName */ public void setRole_name(String roleName) { this.roleName = roleName; } /** * @param note */ public void setNote(String note) { this.note = note; } /** * @return */ public int getId() { return id; } /** * @return */ public String getRoleName() { return roleName; } /** * @return */ public String getNote() { return note; } }然后創(chuàng)建數(shù)據(jù)庫
這次使用的是開發(fā)環(huán)境創(chuàng)建的數(shù)據(jù)庫
數(shù)據(jù)庫類型如下
此時結(jié)果會自動映射到VO對象中,根據(jù)VO對象自動調(diào)用set方法,然后進行賦值操作
此時DAO層接口
/** * @param id * @return */ public Role getRole(int id);傳遞多個參數(shù)
如果需要傳遞多個參數(shù),使用MyBatis提供的Map接口
首先新增加DAO層接口
/** * 查詢Map * @param params * @return */ public ListfindRoleByteMap(Map params);
接著,書寫映射文件,傳遞參數(shù)
這里呢,定義了一個結(jié)果集
對于返回的數(shù)據(jù),使用typehand進行攔截,將會調(diào)用自定義別名的role類
現(xiàn)在的完整文件
書寫結(jié)果展示
<%@ page import="org.apache.ibatis.session.SqlSession" %> <%@ page import="com.ming.Util.SqlSessionFactoryUtil" %> <%@ page import="com.ming.MyBatis.POJO.RoleMapper" %> <%@ page import="com.ming.MyBatis.POJO.Role" %> <%@ page import="java.util.Map" %> <%@ page import="java.util.HashMap" %> <%@ page import="java.util.List" %> <%@ page import="javax.swing.text.html.HTMLDocument" %> <%@ page import="java.util.Iterator" %>Hello World!
<% long startTime = System.currentTimeMillis(); //獲取開始時間 SqlSession sqlSession = null; Listrole = null; for(int i = 0; i < 10; i++) { try { sqlSession = SqlSessionFactoryUtil.openSqlSesion(); RoleMapper roleMapper = sqlSession.getMapper(RoleMapper.class); Map paramsMap = new HashMap (); paramsMap.put("roleName", "name"); paramsMap.put("note", "note"); role = roleMapper.findRoleByteMap(paramsMap); sqlSession.commit(); } catch (Exception e) { e.printStackTrace(); sqlSession.rollback(); } finally { if (sqlSession != null) { sqlSession.close(); } } } long endTime = System.currentTimeMillis(); //獲取結(jié)束時間 %> <% Iterator iterator = role.iterator(); while(iterator.hasNext()){ %> <%=((Role)iterator.next()).getNote()%> <% } %>
數(shù)據(jù)庫中大概有一萬多條記錄,時間較長
ps 一萬多條list擔(dān)心內(nèi)存
此時可以在此處輸出查詢?nèi)罩?用于進行分析
注解傳遞參數(shù)使用param注解傳遞參數(shù)
新建一個DAO接口
/** * @param roleName * @param note * @return */ public ListfindRoleByteMap1(@Param("roleName") String roleName, @Param("note") String note);
再次編寫映射文件,對DAO層和SQL語句進行映射配置
再次編寫展示層
<%@ page import="org.apache.ibatis.session.SqlSession" %> <%@ page import="com.ming.Util.SqlSessionFactoryUtil" %> <%@ page import="com.ming.MyBatis.POJO.RoleMapper" %> <%@ page import="com.ming.MyBatis.POJO.Role" %> <%@ page import="java.util.Map" %> <%@ page import="java.util.HashMap" %> <%@ page import="java.util.List" %> <%@ page import="javax.swing.text.html.HTMLDocument" %> <%@ page import="java.util.Iterator" %>Hello World!
<% long startTime = System.currentTimeMillis(); //獲取開始時間 SqlSession sqlSession = null; Listrole = null; for(int i = 0; i < 10; i++) { try { sqlSession = SqlSessionFactoryUtil.openSqlSesion(); RoleMapper roleMapper = sqlSession.getMapper(RoleMapper.class); Map paramsMap = new HashMap (); paramsMap.put("roleName", "name"); paramsMap.put("note", "note"); role = roleMapper.findRoleByteMap1("name", "note"); sqlSession.commit(); } catch (Exception e) { e.printStackTrace(); sqlSession.rollback(); } finally { if (sqlSession != null) { sqlSession.close(); } } } long endTime = System.currentTimeMillis(); //獲取結(jié)束時間 %> <% Iterator iterator = role.iterator(); while(iterator.hasNext()){ %> <%=((Role)iterator.next()).getNote()%> <% } %>
運行結(jié)果
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/74132.html
摘要:第一是手動在的配置文件中使用部分來指定類路徑。第二是使用工廠的屬性。注解和樣式的配置都是支持的。在事務(wù)處理期間一個單獨的對象將會被創(chuàng)建和使用。創(chuàng)建的代理控制開放和關(guān)閉翻譯任意的異常到的異常中。每個映射器將會在指定的包路徑中遞歸地被搜索到。 mybatis-spring 若要整合spring和mybatis就需要一個插件即mybatis-spring-x.x.x.jar。具體的安裝如下所...
摘要:首先導(dǎo)包依賴如下構(gòu)建應(yīng)用是以為中心的實例可以通過獲得其中是工廠接口任務(wù)用于創(chuàng)建配置文件將會解析配置文件在類對象中配置獲取數(shù)據(jù)源事務(wù)管理器映射器在文件下新建文件配置文件內(nèi)容如下定義別名定義數(shù)據(jù)庫信息事物管理 首先導(dǎo)包 依賴如下 mysql mysql-connector-java 8.0.15 org.m...
摘要:所有的語句都需要配置一個,并且要和中的方法名相同。若有參數(shù),則需要設(shè)置參數(shù)類型,如下一般來說會在中設(shè)置類型,即其實不設(shè)置一般情況下也不會出錯,但是一般情況下設(shè)置類型,因為當(dāng)參數(shù)值為空時,能夠確保找到正確的類型處理器。 mapper statement: insert update select delete。所有的mapper statement 語句都需要配置一個id,并且id...
摘要:的解析和運行原理構(gòu)建過程提供創(chuàng)建的核心接口。在構(gòu)造器初始化時會根據(jù)和的方法解析為命令。數(shù)據(jù)庫會話器定義了一個對象的適配器,它是一個接口對象,構(gòu)造器根據(jù)配置來適配對應(yīng)的對象。它的作用是給實現(xiàn)類對象的使用提供一個統(tǒng)一簡易的使用適配器。 MyBatis的解析和運行原理 構(gòu)建SqlSessionFactory過程 SqlSessionFactory提供創(chuàng)建MyBatis的核心接口SqlSess...
閱讀 2731·2021-11-24 09:39
閱讀 1647·2021-09-28 09:35
閱讀 1119·2021-09-06 15:02
閱讀 1307·2021-07-25 21:37
閱讀 2726·2019-08-30 15:53
閱讀 3643·2019-08-30 14:07
閱讀 714·2019-08-30 11:07
閱讀 3512·2019-08-29 18:36