一、Mybatis核心文件配置
1.自定义实体类别名配置
对于要多次书写的实体类,只需自定义实体类别名,就可以提高书写效率
<!--在核心配置文件中-->
<typeAliases>
<!--方式1:type:别名,alias:当前实体类的全限定名称-->
<typeAlias type="user" alias="com.pojo.user" />
<!--方式2:使用别名的包扫描,它直接将实体所在包指定,别名默认就是当前类名小写-->
<package name="com.pojo" />
</typeAliases>
2.加载映射器的别名配置
同上,mapper的别名扫描,将包内的映射器接口实现全部注册为映射器
<mappers>
<!--之前的写法-->
<mapper resource="com.mapper.UserMapper.xml"></mapper>
<!--使用别名扫描-->
<package name="com.mapper" />
</mappers>
<!--如果使用注解开发(不要加载映射文件,class:直接指向接口的全限定名称)-->
<mappers>
<mapper class="com.mapper.UserMapper"></mapper>
</mappers>
3.poperties配置文件
对于Mybatis中核心配置文件SqlMapConfig.xml中的一些需要频繁改动的数据内容,可以在外面进行配置,提取到properites中,进行动态替换
//jbdc.properites
jdbc.dirver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/date_03_16?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
jdbc.username=root
jdbc.password=123456
//在核心配置文件中
<!--添加properties配置文件的文件路径-->
<properties resource="jdbc.properites" />
<!--环境配置-->
<environments default="mysql">
<environment id="mysql">
<!--更新数据管理配置-->
<transactionManager type="JDBC" />
<!--配置数据库连接池,这里使用mybatis自带的-->
<dataSource type="POOLED">
<!--接下来,配置上面已经设置好的属性(以后如需更改,可以直接动态更改)-->
<property name="dirver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
二、Mybatis处理一一映射关系
数据库中user表字段
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BKpE17eh-1647534699645)(C:\Users\ADMINI~1\AppData\Local\Temp\1647525146317.png)]
resultMap:mybatis的高级输出映射,可以将每一个字段和实体类的属性一一映射
在什么样的条件下使用它?(正常都可以使用)
①当实体类属性名和数据库字段名一致
②mybatis进行多查询时
<!--在UserMapper.xml配置文件中-->
<!--namespace:接口的全限定名称,告诉mybatis去哪个接口寻找此映射文件-->
<mapper namespace="com.mapper.UserMapper">
<!--resultMap配置:id:当前resultMap的标识,type:实体类的全限定名称/别名-->
<resultMap id="userMap" type="user">
<!--id主键配置:property:实体类的属性名称,column&#