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

作者:油炸冰可乐 时间:2022-08-09 17:28:44 

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"/>

来源:https://blog.csdn.net/Wang_Pro/article/details/118116945

标签:MyBaties,基本配置,标签
0
投稿

猜你喜欢

  • java睡眠排序算法示例实现

    2022-04-01 00:13:32
  • JVM内存模型/内存空间:运行时数据区

    2023-01-14 13:12:23
  • 基于Spring Security的Oauth2授权实现方法

    2022-12-19 16:52:18
  • 解决Android popupWindow设置背景透明度无效的问题

    2022-12-05 10:39:42
  • Winform 控件优化LayeredWindow无锯齿圆角窗体

    2021-12-07 22:54:17
  • IDEA导入外部项目报Error:java: 无效的目标发行版: 11的解决方法

    2021-08-25 03:02:27
  • Logback配置文件这么写,还说你不会整理日志?

    2022-10-30 10:23:09
  • 接口签名怎么用Java实现

    2023-02-18 03:22:10
  • Android实现双击返回键退出应用实现方法详解

    2023-03-23 21:33:29
  • Android8.0适配前台定位服务service的示例代码

    2021-05-25 17:18:36
  • java poi设置生成的word的图片为上下型环绕以及其位置的实现

    2023-05-23 03:12:08
  • Eclipse项目有红感叹号的解决方法

    2023-02-13 10:54:15
  • java中Hashmap的get方法使用

    2023-10-29 13:10:05
  • Java线程的生命周期和状态控制_动力节点Java学院整理

    2022-01-25 17:01:42
  • 使用PageHelper插件实现Service层分页

    2023-03-06 00:40:39
  • 关于Spring Boot内存泄露排查的记录

    2023-06-27 18:46:19
  • Oracle + Mybatis实现批量插入、更新和删除示例代码

    2022-01-18 16:05:58
  • Java实现的求逆矩阵算法示例

    2023-05-02 03:02:56
  • java理论基础Stream管道流状态与并行操作

    2021-08-31 14:24:07
  • 详解Java七大阻塞队列之SynchronousQueue

    2023-12-16 04:21:30
  • asp之家 软件编程 m.aspxhome.com