关于MyBaties的基本配置标签总结

 更新时间:2021年06月25日 14:45:12   作者:油炸冰可乐  
今天给大家带来的是关于MyBaties基础的相关知识,文章围绕着MyBaties的基本配置标签展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下

MyBaties的基本配置标签

1-全局配置文件(xxx.properties)引入的两种方式

  • resource:引入类路径下的资源
  • url:引入网络路径或磁盘路径下的资源
<properties resource="dbconfig.properties"></properties>

2-settings包含设置项

name:配置项

value:属性值

<settings>
   <setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

3-typeAliases:别名处理器,为java类型起别名

type:指定要起别名的类型全类名;默认别名就是类名小写

alias:指定新的别名

<typeAlias type="com.atguigu.mybatis.bean.Employee" alias="emp"/> 

3.1 为某个包下所有类起别名

package:为某个包下的所有类批量起别名

name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名(类名小写)

<package name="com.atguigu.mybatis.bean"/>

3.2 使用注解@Alias为某个类指定新的类型

@Alias("emp")
public class Employee {
    ...code...
}

4-配置多种MyBatis环境

  • enviroments:配置的环境们都写在里面,default指定这个环境的名称
  • environment:配置一个具体的环境信息,有id唯一标识与transactionManager事务管理器
  • id:唯一标识
  • transactionManager:事务管理器,它的有属性type
  • type:事务管理器的类型JDBC MANAGED 自定义事务管理器
  • dataSource:数据源
  • type:数据源类型 UNPOOLED POOLED JNDI 自定义
<environments default="dev_mysql">
   <environment id="dev_mysql">
      <transactionManager type="JDBC"></transactionManager>
      <dataSource type="POOLED">
         <property name="driver" value="${jdbc.driver}" />
         <property name="url" value="${jdbc.url}" />
         <property name="username" value="${jdbc.username}" />
         <property name="password" value="${jdbc.password}" />
      </dataSource>
   </environment>

   <environment id="dev_oracle">
      <transactionManager type="JDBC" />
      <dataSource type="POOLED">
         <property name="driver" value="${orcl.driver}" />
         <property name="url" value="${orcl.url}" />
         <property name="username" value="${orcl.username}" />
         <property name="password" value="${orcl.password}" />
      </dataSource>
   </environment>
</environments>

5-databaseIdProvider:支持多数据库

  • databaseIdProvider:支持多数据库,它的type为DB_VENDOR作用就是得到数据库厂商的标识(驱动getDatabaseProductName()),mybatis就能根据数据库厂商标识来执行不同的sql;
  • property:为数据库起名字
  • name:
  • value:
<databaseIdProvider type="DB_VENDOR">
   <!-- 为不同的数据库厂商起别名 -->
   <property name="MySQL" value="mysql"/>
   <property name="Oracle" value="oracle"/>
   <property name="SQL Server" value="sqlserver"/>
</databaseIdProvider>

最终,在mapper.xml中写入查询时的的语句,并申明使用到的数据库是什么

<mapper namespace="com.atguigu.mybatis.dao.EmployeeMapper">
	<select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee">
       select * from tbl_employee where id = #{id}
    </select>
    <select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee"
       databaseId="mysql">
       select * from tbl_employee where id = #{id}
    </select>
    <select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee"
       databaseId="oracle">
       select EMPLOYEE_ID id,LAST_NAME    lastName,EMAIL email 
       from employees where EMPLOYEE_ID=#{id}
    </select>
</mapper>

6-mappers将sql文件注册进入全局配置文件

6.1注册配置文件:

  • resource:引用类路径下的sql映射文件例如:mybatis/mapper/EmployeeMapper.xml
  • url:引用网路路径或者磁盘路径下的sql映射文件例如:file:///var/mappers/AuthorMapper.xml

6.2注册接口:

有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下;

<mapper resource="mybatis/mapper/EmployeeMapper.xml"/>

没有sql映射文件,所有的sql都是利用注解写在接口上,然后再mappers中进行注册;

public interface EmployeeMapperAnnotation {
	@Select("select * from tbl_employee where id=#{id}")
	public Employee getEmpById(Integer id);
}
<mapper class="com.atguigu.mybatis.dao.EmployeeMapperAnnotation"/>

6.3批量注册:

本质上,如果包名相同,不管是src内还是src外的文件,实际存储过程中会被存储到同一个文件夹中

<package name="com.atguigu.mybatis.dao"/>

到此这篇关于关于MyBaties的基本配置标签总结的文章就介绍到这了,更多相关MyBaties的基本配置标签内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 教你Java中的Lock锁底层AQS到底是如何实现的

    教你Java中的Lock锁底层AQS到底是如何实现的

    本文是基于ReentrantLock来讲解,ReentrantLock加锁只是对AQS的api的调用,底层的锁的状态(state)和其他线程等待(Node双向链表)的过程其实是由AQS来维护的,对Java Lock锁AQS实现过程感兴趣的朋友一起看看吧
    2022-05-05
  • JAVA(MAVEN项目)添加JUnit依赖配置全过程

    JAVA(MAVEN项目)添加JUnit依赖配置全过程

    在Maven项目中进行单元测试是确保代码质量的重要步骤,本教程提供SpringBoot和微服务平台适用的单元测试方法,包括环境准备、创建测试类、JUnit简介及注解使用,环境准备涉及引入依赖和安装JUnit插件,测试类创建可通过快捷键或手动添加@Test注解来实现
    2024-10-10
  • 快速解决 IDEA 报错: “java 找不到符号“(“cannot find symbol“)

    快速解决 IDEA 报错: “java 找不到符号“(“cannot find symbol“)

    文章详细讲解了在IntelliJIDEA中解决“找不到符号”错误的方法,包括检查导入语句、拼写错误、类路径设置、文件编译状态、JDK配置以及IDE配置问题,通过具体示例代码,展示了如何从错误代码到解决步骤,感兴趣的朋友一起看看吧
    2025-03-03
  • java实现Excel的导入导出

    java实现Excel的导入导出

    这篇文章主要为大家详细介绍了java实现Excel的导入导出,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • java解压jar包和压缩jar包的简单步骤

    java解压jar包和压缩jar包的简单步骤

    JAR(Java Archive)是Java的归档文件,它是一种与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,这篇文章主要介绍了java解压jar包和压缩jar包的简单步骤,需要的朋友可以参考下
    2024-12-12
  • Java8 新特性Lambda表达式实例详解

    Java8 新特性Lambda表达式实例详解

    这篇文章主要介绍了Java8 新特性Lambda表达式实例详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • 关于Java实现word(docx、doc)转html的完美解决方案

    关于Java实现word(docx、doc)转html的完美解决方案

    文章介绍了多种将Word文档转换为HTML的方法,包括使用Microsoft Word自带的导出功能、第三方工具和编程实现,展示了如何实现将.docx文件转换为HTML文件,并自动生成目录、处理分页符和增强表格样式等功能,感兴趣的朋友一起看看吧
    2025-01-01
  • java中匿名内部类解读分析

    java中匿名内部类解读分析

    本篇文章介绍了,java中匿名内部类解读分析。需要的朋友参考下
    2013-05-05
  • transactionAttributes各属性意义及配置

    transactionAttributes各属性意义及配置

    这篇文章主要介绍了transactionAttributes各属性意义及配置,具有一定参考价值,需要的朋友可以了解下。
    2017-09-09
  • Java操作Jenkins操作凭证(Credential)信息方式

    Java操作Jenkins操作凭证(Credential)信息方式

    这篇文章主要介绍了Java操作Jenkins操作凭证(Credential)信息方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05

最新评论