公司内部培训mybatis3.ppt





《公司内部培训mybatis3.ppt》由会员分享,可在线阅读,更多相关《公司内部培训mybatis3.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、公司内部培训公司内部培训mybatis3一、一、myBatis框架概述框架概述n n与传统的JDBC开发相比,MyBatis消除了几乎所有的代码和参数的手工设置。n nMyBatis使用简单的XML或注解方式,用于配置和原始映射,将接口和Java的POJOs(PlanOldJavaObjects,普通的Java对象)映射成数据库中的记录。二、二、mybatis 与与 hibernate 比较比较n nHibernate基本上可以自动生成。其对数据库结构提供了较为完整的封装n n开发效率上,如果使用纯面向对象方式Hibernate比较快,但如果以HQL其他方式相差不多。n n可维护性方面,myb
2、atis框架是以sql的开发方式,可以进行细粒度的优化。n nHibernate自动生成的sql效果不理想。三、三、Mybatis开始开始3.1 SqlSessionFactory n nStringresource=Stringresource=org/mybatis/example/Configuration.xml;org/mybatis/example/Configuration.xml;n nReaderreader=Readerreader=Resources.getResourceAsReader(resource);Resources.getResourceAsReader(r
3、esource);n nSqlSessionFactoryfactory=SqlSessionFactoryfactory=n nsqlSessionFactoryBuilder.build(reader,props);sqlSessionFactoryBuilder.build(reader,props);3.2 调用调用sqln nSqlSessionsession=sqlMapper.openSession();n ntryn nBlogblog=(Blog)session.selectOne(n nselectBlog,101);n nfinallyn nsession.close()
4、;n n3.3Mybatis的文件组成的文件组成n n1Configuration.xmln n2Mapper.xml1 Configuration.xmln n系统的核心设置,包含获取数据库连接实例的数据源和决定事务范围和控制的事务管理器1.1 Configuration.xml简单的示例n n1.1.11.1.1配置数据源配置数据源n n n n n n n n1.1.2告诉告诉MyBatis到哪里到哪里去找相关映射文件去找相关映射文件n nn nn nn nn nn n/Usingurlfullyqualifiedpaths/Usingurlfullyqualifiedpathsn nn
5、 nn nn nn n2 Mapper.xmln n定义具体SQL映射语句的文件2.1 Mapper.xml简单的示例n n n nSELECT*FROMPERSONWHEREID=#idn n2.2 输入属性参数输入属性参数n nparameterType将会传入这条语句的参数类的完全限定名或别名。2.3 输出属性参数输出属性参数n nresultTyperesultType或或resultMapresultMap,但不能同时使用,但不能同时使用n nresultTyperesultType从这条语句中返回的期望类型从这条语句中返回的期望类型的类的完全限定名或别名。注意集合情形,那的类的完全
6、限定名或别名。注意集合情形,那应该是集合可以包含的类型,而不能是集合本应该是集合可以包含的类型,而不能是集合本身。身。n nresultMapresultMap命名引用外部的命名引用外部的resultMapresultMap。返。返回回mapmap是是MyBatisMyBatis最具力量的特性,对其有一个最具力量的特性,对其有一个很好的理解的话,许多复杂映射的情形就能被很好的理解的话,许多复杂映射的情形就能被解决了。解决了。2.4 resultMapresultMapid=BaseResultMaptype=com.dingxun.tiku.vo.Area idcolumn=area_idjd
7、bcType=INTEGERproperty=areaId/resultcolumn=codejdbcType=VARCHARproperty=code/resultcolumn=parentjdbcType=INTEGERproperty=parent/2.5 使用上的区别使用上的区别resultTypen nn nselectid,username,hashedPasswordn nfromsome_tablen nwhereid=#idn nn nselectid=”selectUsers”n nselectselectn nuser_iduser_idas“id”as“id”,n nu
8、ser_nameuser_nameas“role.name”as“role.name”,n nfromsome_tablefromsome_tablen nwhereid=#idwhereid=#idn nresultMapn nresultMapid=type=Usern nn nn nn n n n引用它的语句使用引用它的语句使用resultMapresultMap属性就行了(注意我们去掉了属性就行了(注意我们去掉了resultTyperesultType属性)。比如:属性)。比如:n nselectid=”selectUsers”parameterType=”int”n nselects
9、electuser_id,user_name,hashed_passworduser_id,user_name,hashed_password n nfromsome_tablefromsome_tablen nwhereid=#idwhereid=#idn n2.6 resultMap一对一、多对一一对一、多对一n nresultMapid=n nidcolumn=/n nresultcolumn=/n nassociationproperty=n n idcolumn=/n nresultcolumn=/n nn nn n n n n nn nassociationproperty=aut
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 公司内部 培训 mybatis3

限制150内