当前位置: 首页 > news >正文

Mybatis映射关系mybatis核心配置文件

目录

1.Mybatis映射关系

1.1一对一映射之resultType

1.2resultMap处理映射关系

2.mybatis核心配置文件

1. properties(属性)

2. settings(设置)

3.typeAliases(类型别名)

4.environments(环境配置)

 5.mappers(映射器)


1.Mybatis映射关系

1.1一对一映射之resultType

   <!--类的全路径名 包名+类名 com/rocky/mapper/UserMapper.java--><select id="queryUserAll" resultType="com.rocky.pojo.User">select * from user;</select>//因为简化类路径名称了可以写user 不区分大小写<select id="queryUserAll" resultType="userr">select * from user;</select><!--2:简化类的全路径名称 typeAliases类型别名  alias别名如果不设置alias属性,那么默认就是类名 且不区分大小写package name属性:配置包的路径。使用类名并且忽略大小写--><typeAliases>
<!--        <typeAlias type="com.rocky.pojo.User"></typeAlias>--><package name="com.rocky.pojo"/></typeAliases>

1.2resultMap处理映射关系

 <!--resultMap是专门处理数据列和javaBean字段之间的映射关系的id 指的是resultMap的id  type当前的javaBean 将来用里面的字段去映射数据表的列<id> 专门用来映射数据表的id和javaBean字段的映射<result property:JavaBean中的字段   column=列>--><resultMap id="queryAll" type="Employee"><id property="a" column="id"></id><result property="b" column="emp_name"></result><result property="c" column="emp_pwd"></result><result property="d" column="dept_id"></result></resultMap><select id="getEmployeeAll" resultMap="queryAll">select id,emp_name, emp_pwd ,dept_id from employee;</select>

2.mybatis核心配置文件

   

MyBatis 核心配置文件整体结构

注意:在编写配置是要严格按照以下顺序排列,不然会报错

MyBatis的配置文件中主要包括以下配置:
    properties(属性)
    settings(设置
    typeAliases(类型别名)
    typeHandlers(类型处理器)
    objectFactory(对象工厂)
    plugins(插件)
    environments(环境配置)
    transactionManager(事务管理器):声明事物管理器

    dataSource(数据源)
    databaseIdProvider(数据库厂商标识)
    mappers(映射器)

1. properties(属性)

加载对应的配置文件

 <!--1:引入外部的配置文件--><properties resource="jdbc.properties"></properties>

2. settings(设置)

:配置Mybatis的一些设置,如:log4j日志信息等

<settings><!--name属性里面mybatis提供了一个属性可以让我们将数据表中的列和JavaBean中的字段映射映射规则:去掉数据列的下划线之后的首字母大写mapUnderscoreToCamelCase 忽略下划线并且下划线后的首字母大写。value="true" 打开映射关系--><setting name="mapUnderscoreToCamelCase" value="true"/></settings>

3.typeAliases(类型别名

:扫描对应包下面的实体类,在xml文件中用小写表示就好

第⼀种⽅式:typeAlias

alias是⼤⼩写不敏感的,type属性:指定给哪个类起别名. alias属性:别名

<typeAliases><typeAlias type="com.hu.pojo.Car" alias="Car"/>
</typeAliases>


第⼆种⽅式:package

如果⼀个包下的类太多,每个类都要起别名,会导致typeAlias标签配置较多,所以mybatis⽤提供 package的配置⽅式,只需要指定包名,该包下的所有类都⾃动起别名,别名就是简类名。并且别名不 区分⼤⼩写。

<!--2:简化类的全路径名称 typeAliases类型别名  alias别名如果不设置alias属性,那么默认就是类名 且不区分大小写package name属性:配置包的路径。使用类名并且忽略大小写--><typeAliases>
<!--        <typeAlias type="com.rocky.pojo.User"></typeAlias>--><package name="com.rocky.pojo"/></typeAliases>

4.environments(环境配置

:配置数据库环境,可以配置多个,最后生效的为default

<!--配置数据库的环境--><environments default="dev"><!--开发人员去使用--><environment id="dev"><!--数据库事务管理的方式 默认使用JDBC--><transactionManager type="JDBC"/><!--dataSource 数据库连接池  POOLED--><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><!--username这个属性默认 是去找环境变量中的username--><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></dataSource></environment></environments>

 5.mappers(映射器)

:扫描对应包下面的mapper.xml文件   

SQL映射⽂件的配置⽅式包括四种:

  • resource:从类路径中加载
  • url:从指定的全限定资源路径中加载
  • class:使⽤映射器接⼝实现类的完全限定类名
  • package:将包内的映射器接⼝实现全部注册为映射器

resource:这种⽅式是从类路径中加载配置⽂件,所以这种⽅式要求SQL映射⽂件必须放在resources⽬录下或其⼦ ⽬录下。

<mappers><mapper resource="com/hu/mapper/AuthorMapper.xml"/>
</mappers>

url:这种⽅式显然使⽤了绝对路径的⽅式,这种配置对SQL映射⽂件存放的位置没有要求,随意。

<mappers><mapper url="file:///var/mappers/AuthorMapper.xml"/>
</mappers>

class:如果使⽤这种⽅式必须满⾜以下条件: SQL映射⽂件和mapper接⼝放在同⼀个⽬录下。 SQL映射⽂件的名字也必须和mapper接⼝名⼀致。

<!-- 使⽤映射器接⼝实现类的完全限定类名 -->
<mappers><mapper class="org.mybatis.builder.AuthorMapper"/><mapper class="org.mybatis.builder.BlogMapper"/><mapper class="org.mybatis.builder.PostMapper"/>
</mappers>

将CarMapper.xml⽂件移动到和mapper接⼝同⼀个⽬录下: 在resources⽬录下新建:com/powernode/mybatis/mapper【这⾥千万要注意:不能这样新建 com.powernode.mybatis.dao】

将CarMapper.xml⽂件移动到mapper⽬录下 修改mybatis-config.xml⽂件

<mappers><mapper class="com.powernode.mybatis.mapper.CarMapper"/>
</mappers>

Package:如果class较多,可以使⽤这种package的⽅式,但前提条件和上⼀种⽅式⼀样。

<mappers>
<!--      <mapper resource="com/rocky/mapper/UserMapper.xml"/>--><!--如果你想在mapper节点下面使用package1:在src下面必须有接口实现2:mapper配置文件的路径名称必须和src下面的路径名称一致--><package name="com/rocky/mapper"/></mappers>
http://www.lryc.cn/news/99942.html

相关文章:

  • Mybatis中limit用法与分页查询
  • libcomposite: Unknown symbol config_group_init (err 0)
  • Spring Tool Suite 4
  • 带你读论文第三期:微软研究员、北大博士陈琪,荣获NeurIPS杰出论文奖
  • 农业中的计算机视觉 2023
  • 掌握三个基础平面构成法则 优漫动游
  • 叶工好容5-日志与监控
  • Dubbo 指定调用固定ip+port dubbo调用指定服务 dubbo调用不随机 dubbo自定义调用服务 dubbo点对点通信 dubbo指定ip
  • BCNet论文精读
  • PHP8的注释-PHP8知识详解
  • 优化企业集成架构:iPaaS集成平台助力数字化转型
  • 前端存储之sessionStorage和localStorage
  • 上海亚商投顾:沪指放量大涨1.84% 证券股掀涨停潮
  • 微服务划分的原则
  • 作业 - 3
  • MTK联发科安卓核心板MT8385(Genio 500)规格参数资料_性能介绍
  • ChatGPT付费创作系统小程序端开发工具提示打开显示无法打开页面解决办法
  • CVPR2023新作:pix2pix3D
  • Django自定义用户错误记录
  • Abaqus 导出单元刚度矩阵和全局刚度矩阵
  • Pytorch(一)
  • 图数据库Neo4j学习三——cypher语法总结
  • 2023杭电多校第一场部分题解
  • 算法38:反转链表【O(n)方案】
  • redis基本架构:一个键值数据库包含什么?(这篇文章主要是一个引导的作用)
  • HIS信息管理系统 HIS源码
  • 微信小程序之富文本那些事
  • kaggle新赛:RSNA 2023 腹部创伤检测大赛赛题解析(CV)
  • 【JavaEE初阶】Servlet (二) Servlet中常用的API
  • redis 存储原理与数据模型