mybatis的各个标签详解

本文详细解析了MyBatis框架的配置文件,包括properties、settings、typeAliases、environments、databaseIdProvider、mappers等核心标签的用法,并介绍了如何配置数据库映射文件,特别是resultMap的映射,强调了MyBatis在SQL映射中的优势和灵活性。
摘要由CSDN通过智能技术生成

本文参考mybatis官方文档,做出大致解析

mybatis的git地址:https://github.com/mybatis/mybatis-3

官方文档url:https://mybatis.org/mybatis-3/

mybatis框架是什么?有什么优点?

mybaties==》也叫Ibaties     它是一个开源,持久化,轻量级的框架

 JDBC – SQL夹在Java代码块里,耦合度高导致硬编码内伤 – 维护不易且实际开发需求中sql是有变化,频繁修改的情况多见

Hibernate和JPA – 长难复杂SQL,对于Hibernate而言处理也 不容易 – 内部自动生产的SQL,不容易做特殊优化。 – 基于全映 射的全自动框架,大量字段的POJO进行部分映射时比较困难。 导致数据库性能下降。

对开发人员而言,核心sql还是需要自己优化

sql和java编码分开,功能边界清晰,一个专注业务、 一个专注数据。

 

  1. 全局配置文件详解:configuration(配置)

  • 编写前准备:
  1. 导入mybaties所需要的jar包:mybatis-3.4.1.jar
  2. 导入访问数据库所需要的jar包:mysql-connector-java-5.1.37-bin.jar
  3.  编写全局配置文件,导入dtd
  • 举例说明导入dtd文件,具有提示功能

eclipse或者myeclipse,找到window-->Preferences-->搜索xml-->xml Catalog后,如下图操作:

标签详解

properties(属性)

mybatis可以使用properties来引入外部properties配置文件的内容;

  1.         resource:引入类路径下的资源,类路径就是源码包下的文件,如src根目录下
  2.         url:引入网络路径或者磁盘路径下的资源

举例说明

<properties resource="dbconfig.properties"></properties>

 

settings包含很多重要的设置项

 

  1.             setting:用来设置每一个设置项
  2.             name:设置项名
  3.             value:设置项取值

举例说明

开启驼峰命名,如数据库列表是dept_name==>javabean中就可以写成,deptId,由于mybatis中有自定义高级映射【基于了解程度】

<settings>
<!--开启驼峰命名法-->
<setting name="mapUnderscoreToCamelCase" value="true"/>

<!--开启懒加载,延迟加载,分步查询或者按需查询sql语句-->
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="aggressiveLazyLoading" value="false"/>
</settings> -->

 

typeAliases:别名处理器:可以为我们的java类型起别名,别名不区分大小写

举例说明

<typeAliases>
		<!-- 1、typeAlias:为某个java类型起别名
				type:指定要起别名的类型全类名;默认别名就是类名小写;employee
				alias:指定新的别名
		 -->
		<!-- <typeAlias type="com.oracle.mybatis.bean.Employee" alias="emp"/> -->
		
		<!-- 2、package:为某个包下的所有类批量起别名 
				name:指定包名(为当前包以及下面所有的后代包的每一个类都起一
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Mybatis是一种Java持久化框架,它可以将Java对象映射到数据库中的表中。Mybatis的配置文件主要包括两个部分:mybatis-config.xml和mapper.xml。其中mapper.xml是Mybatis的核心配置文件,它定义了SQL语句、映射关系、参数映射等信息,下面详细介绍mapper.xml文件的各个部分。 1、mapper.xml的命名空间 每个mapper.xml文件都应该设置一个命名空间,命名空间用来定义映射的SQL语句和参数映射。命名空间的格式为:mapper namespace="com.xxx.mapper.XxxMapper",其中com.xxx.mapper是mapper接口所在的包名,XxxMapper是mapper接口的类名。 2、映射SQL语句 在mapper.xml中,可以定义各种SQL语句,例如查询、插入、更新和删除等。SQL语句的格式为<select|insert|update|delete>,其中<select>表示查询语句,<insert>表示插入语句,<update>表示更新语句,<delete>表示删除语句。具体的SQL语句可以根据需要自行定义,例如: <select id="selectUserById" parameterType="int" resultType="com.xxx.model.User"> select * from user where id=#{id} </select> 在上面的例子中,id表示SQL语句的唯一标识符,parameterType表示传入参数的类型,resultType表示返回结果的类型。 3、参数映射 在mapper.xml中,可以定义参数映射,将Java对象映射到SQL语句中的参数,例如: <select id="selectUserByName" parameterType="java.lang.String" resultType="com.xxx.model.User"> select * from user where name=#{name} </select> 在上面的例子中,parameterType表示传入参数的类型,#{name}表示将Java对象中的name属性映射到SQL语句中的参数。 4、结果集映射 在mapper.xml中,可以定义结果集映射,将SQL语句返回的结果封装成Java对象,例如: <select id="selectAllUser" resultType="com.xxx.model.User"> select * from user </select> 在上面的例子中,resultType表示返回结果的类型,Mybatis会将SQL语句返回的结果封装成com.xxx.model.User对象。 5、动态SQL语句 在mapper.xml中,可以使用动态SQL语句来构建复杂的SQL语句。动态SQL语句可以根据不同的条件来生成不同的SQL语句,例如: <select id="selectUser" parameterType="com.xxx.model.User" resultType="com.xxx.model.User"> select * from user where 1=1 <if test="id != null"> and id=#{id} </if> <if test="name != null and name != ''"> and name=#{name} </if> </select> 在上面的例子中,<if>标签用来判断条件,根据条件生成不同的SQL语句。 6、其它元素 在mapper.xml中,还可以使用其它元素来完成更多的功能,例如: (1)<resultMap>元素:定义结果集映射关系; (2)<include>元素:引入其它的SQL语句; (3)<where>、<set>等元素:用于构建复杂的SQL语句; (4)<foreach>元素:用于遍历集合或数组等。 总之,mapper.xml文件是Mybatis框架中非常重要的配置文件,它定义了SQL语句、映射关系、参数映射等信息,是Mybatis实现持久化操作的核心。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂行者

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值