Java框架MyBatis工作流程是怎样的?

一、MyBatis 简介MyBatis 是一款优秀的支持自定义SQL、存储过程以及高级映射的持久层框架。它消除了几乎所有的JDBC代码,同时也不需要手动设置参数和获取结果。MyBatis 能够使用简单的XML格式或注解来配置,能够映射基本的数据元素、Map接口和POJOs(普通Java对象)到数据库中的记录。
二、MyBatis 工作流程1. 加载配置并初始化触发条件:加载配置文件或Java代码注解。配置信息被加载成为MappedStatement对象,存储在内存中。2. 接收调用请求触发条件:调用MyBatis提供的API。传入参数:SQL的ID和传入参数对象。处理过程:请求被传递给下层的请求处理层进行处理。3. 处理操作请求触发条件:API接口层传递请求过来。传入参数:SQL的ID和传入参数对象。处理过程:(A) 根据SQL的ID查找对应的MappedStatement对象。(B) 根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。(C) 获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。(D) 根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。(E) 释放连接资源。4. 返回处理结果将最终的处理结果返回给用户。
三、MyBatis 功能架构1. API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操作数据库。2. 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它的主要目的是根据调用的请求完成一次数据库操作。3. 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将它们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
四、快速入门1. 实体类User类是用户表对应的实体类,包含id、name和age属性。2. 映射文件UserMapping.xml定义了根据用户ID查询用户的SQL语句。3. 资源文件mybatis.xml配置了数据库连接信息和映射文件路径。4. 测试类Tests通过MyBatis API查询用户信息,并打印结果。
五、结果输出测试成功,输出查询到的用户信息。

  • Java妗嗘灦MyBatis宸ヤ綔娴佺▼鏄庢牱鐨?
    绛旓細(1)鍔犺浇閰嶇疆骞跺垵濮嬪寲 瑙﹀彂鏉′欢锛氬姞杞介厤缃枃浠 閰嶇疆鏉ユ簮浜庝袱涓湴鏂癸紝涓澶勬槸閰嶇疆鏂囦欢锛屼竴澶勬槸Java浠g爜鐨勬敞瑙o紝灏哠QL鐨勯厤缃俊鎭姞杞芥垚涓轰竴涓釜MappedStatement瀵硅薄锛堝寘鎷簡浼犲叆鍙傛暟鏄犲皠閰嶇疆銆佹墽琛岀殑SQL璇彞銆佺粨鏋滄槧灏勯厤缃級锛屽瓨鍌ㄥ湪鍐呭瓨涓(2)鎺ユ敹璋冪敤璇锋眰 瑙﹀彂鏉′欢锛氳皟鐢Mybatis鎻愪緵鐨凙PI 浼犲叆鍙傛暟锛氫负SQL鐨処...
  • Java妗嗘灦MyBatis宸ヤ綔娴佺▼鏄庢牱鐨?
    绛旓細浜屻MyBatis 宸ヤ綔娴佺▼1. 鍔犺浇閰嶇疆骞跺垵濮嬪寲瑙﹀彂鏉′欢锛氬姞杞介厤缃枃浠舵垨Java浠g爜娉ㄨВ銆傞厤缃俊鎭鍔犺浇鎴愪负MappedStatement瀵硅薄锛屽瓨鍌ㄥ湪鍐呭瓨涓2. 鎺ユ敹璋冪敤璇锋眰瑙﹀彂鏉′欢锛氳皟鐢∕yBatis鎻愪緵鐨凙PI銆備紶鍏ュ弬鏁帮細SQL鐨処D鍜屼紶鍏ュ弬鏁板璞°傚鐞嗚繃绋嬶細璇锋眰琚紶閫掔粰涓嬪眰鐨勮姹傚鐞嗗眰杩涜澶勭悊銆3. 澶勭悊鎿嶄綔璇锋眰瑙﹀彂鏉′欢锛欰PI鎺...
  • java寮鍙戝父鐢ㄥ洓澶妗嗘灦
    绛旓細鍥涘ぇJava寮鍙戝父鐢妗嗘灦鏄細Spring銆丠ibernate銆丼truts2鍜MyBatis銆1. Spring妗嗘灦 Spring鏄疛ava寮鍙戜腑鏈甯哥敤鐨勬鏋朵箣涓锛屽畠鎻愪緵浜嗗叏闈㈢殑缂栫▼鍜岄厤缃ā鍨嬶紝鐢ㄤ簬鐜颁唬鍖朖ava浼佷笟绾у簲鐢ㄣ係pring鐨勬牳蹇冨姛鑳芥槸鎺у埗鍙嶈浆锛圛nversion of Control, IoC锛夊拰闈㈠悜鍒囬潰缂栫▼锛圓spect Oriented Programming, AOP锛夈侷oC鏈夊姪浜庡疄鐜板簲鐢...
  • JAVA杞欢寮鍙戜娇鐢ㄧ殑妗嗘灦鏈夊摢浜?
    绛旓細1.Spring妗嗘灦锛氭彁渚涗簡鍏ㄩ潰鐨勫熀纭璁炬柦锛屽寘鎷緷璧栨敞鍏ャ侀潰鍚戝垏闈㈢紪绋嬶紙AOP锛夈佷簨鍔$鐞嗙瓑锛岀畝鍖栦簡浼佷笟绾у簲鐢ㄧ殑寮鍙戙2.Hibernate妗嗘灦锛氱敤浜庡璞″叧绯绘槧灏勶紙ORM锛夛紝绠鍖栦簡鏁版嵁搴撴搷浣滐紝鎻愪緵浜嗛潰鍚戝璞$殑鏁版嵁搴撹闂柟寮忋3.Struts妗嗘灦锛氱敤浜庢瀯寤哄熀浜嶮VC妯″紡鐨刉eb搴旂敤绋嬪簭锛屾彁渚涗簡涓濂楀鐞哤eb璇锋眰鍜屽搷搴旂殑鏈哄埗銆4.My...
  • java瀛﹀埌浠涔堢▼搴﹀彲浠ユ壘宸ヤ綔
    绛旓細涓銆佸熀纭鐭ヨ瘑 Java鐨勫熀纭鐭ヨ瘑鏄涔燡ava鐨勫熀纭銆傞鍏堥渶瑕佹帉鎻ava鐨勮娉曞拰鍩虹鐭ヨ瘑銆傚寘鎷琂ava鐨勬暟鎹被鍨嬨佹帶鍒剁粨鏋勩侀潰鍚戝璞$紪绋嬨佸紓甯稿鐞嗙瓑銆傝繖浜涢兘鏄涔燡ava鐨勫熀纭锛屾槸瀛︿範Java鐨勫繀澶囩煡璇嗐備簩銆佹鏋 Java妗嗘灦鏄紒涓氬紑鍙戜腑闈炲父閲嶈鐨勬妧鏈傛帉鎻pring銆丠ibernate銆MyBatis绛夋鏋舵槸闈炲父鏈夊繀瑕佺殑銆傝繖浜涙鏋跺彲浠...
  • 璇烽槓杩皊sm妗嗘灦涓JAVAweb鐨勫紑鍙戜綋楠,浣滀负椤圭洰缁忕悊浣犲浣曢夋嫨鐩稿叧鎶鏈...
    绛旓細SSM妗嗘灦锛圫pring+SpringMVC+MyBatis锛変笌JavaWeb寮鍙戦兘鏄父鐢ㄧ殑Java鍚庣寮鍙戞妧鏈紝瀹冧滑鍚勬湁浼樺娍鍜岄傜敤鍦烘櫙銆係SM妗嗘灦寮鍙戜綋楠岋細Spring锛歋pring鏄竴涓交閲忕骇鐨凧ava寮鍙戞鏋讹紝鎻愪緵浜嗕緷璧栨敞鍏ャ侀潰鍚戝垏闈㈢紪绋嬬瓑鐗规э紝鍙互绠鍖朖ava搴旂敤鐨勫紑鍙戝拰绠$悊銆備娇鐢⊿pring鍙互瀹炵幇妯″潡鍖栥佹澗鑰﹀悎鐨勪唬鐮佺粨鏋勶紝浣垮緱浠g爜鏇存槗浜庢祴璇曞拰...
  • java妗嗘灦閮芥湁鍝簺
    绛旓細java妗嗘灦鏈塖pringMVC銆Mybatis銆丏ubbo銆丷abbitMQ绛夈備竴銆丼pringMVC Spring Web MVC鏄竴绉嶅熀浜嶫ava鐨勫疄鐜颁簡Web MVC璁捐妯″紡鐨勮姹傞┍鍔ㄧ被鍨嬬殑杞婚噺绾eb妗嗘灦锛屽嵆浣跨敤浜哅VC鏋舵瀯妯″紡鐨勬濇兂锛屽皢web灞傝繘琛岃亴璐hВ鑰︼紝鍩轰簬璇锋眰椹卞姩鎸囩殑灏辨槸浣跨敤璇锋眰-鍝嶅簲妯″瀷锛屾鏋剁殑鐩殑灏辨槸甯姪鎴戜滑绠鍖栧紑鍙戯紝涔熸槸瑕佺畝鍖栨垜浠棩甯竁eb...
  • 濡備綍鎼缓mybatis寮鍙戠幆澧
    绛旓細mybatis鏁版嵁搴撻厤缃傚浜mybatis妗嗘灦鏉ヨ锛岄鍏堥渶瑕侀厤缃殑灏辨槸鏁版嵁搴撶殑鏁版嵁婧愰厤缃互鍙婇噰鐢ㄤ綍绉嶅紑鍙戞ā寮忕殑閰嶇疆锛屽浜巑avne椤圭洰鏉ヨ杩欎簺璧勬簮淇℃伅閮介渶瑕侀厤缃湪src/main/resources涓嬮潰锛屽浜庢櫘閫氱殑java椤圭洰鍒欏彧闇瑕侀厤缃湪src涓嬪嵆鍙4 mybatis-config.xml鐨勯厤缃傚湪src/main/resources/涓嬪垱寤轰竴涓悕涓簃ybatis-...
  • 瀛︿範Java濂戒笉濂芥壘宸ヤ綔鍟?
    绛旓細java瀛︿範鍐呭涓昏鏈夛細鈶JAVA缂栫▼鍩虹锛堝熀纭璇硶銆侀潰鍚戝璞°佸拰璋愮壒鎬х瓑锛夆憽WEB搴旂敤寮鍙戯紙闈欐佺綉椤靛埗浣溿丱racle鏁版嵁搴撱Java Web寮鍙戞妧鏈丩inux鎶鏈佺綉绔欐ц兘涓庡畨鍏ㄣ佽蒋浠跺伐绋嬪紑鍙戞祦绋嬨丣ava Web鍜岃皭绛夛級鈶紒涓氱骇妗嗘灦寮鍙戯紙鏁版嵁缁撴瀯涓庣畻娉曘丼SH妗嗘灦銆丣avaEE鍜岃皭绛夛級鈶i」鐩疄璁 浜掕仈缃戣涓氱洰鍓嶈繕鏄渶鐑棬鐨勮涓...
  • mybatis鏄粈涔
    绛旓細MyBatis 鏄敮鎸佹櫘閫 SQL鏌ヨ锛屽瓨鍌ㄨ繃绋嬪拰楂樼骇鏄犲皠鐨勪紭绉鎸佷箙灞妗嗘灦銆侻yBatis 娑堥櫎浜嗗嚑涔庢墍鏈夌殑JDBC浠g爜鍜屽弬鏁扮殑鎵嬪伐璁剧疆浠ュ強缁撴灉闆嗙殑妫绱侻yBatis 浣跨敤绠鍗曠殑 XML鎴栨敞瑙g敤浜庨厤缃拰鍘熷鏄犲皠锛屽皢鎺ュ彛鍜 Java 鐨POJOs锛圥lain Old Java Objects锛屾櫘閫氱殑 Java瀵硅薄锛夋槧灏勬垚鏁版嵁搴撲腑鐨勮褰曘傛瘡涓狹yBatis搴旂敤绋嬪簭...
  • 扩展阅读:java javascript ... jpa框架和mybatis的区别 ... mybatis plus ... java框架spring ... 为什么都不建议java转测试 ... mybatis属于什么框架 ... java三大主流框架 ... mybatis中$和&区别 ... 学java为什么27岁就迟了 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网