关于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的基本配置标签内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Mybatis动态SQL foreach标签用法实例

    需求:传入多个 id 查询用户信息,用下边两个 sql 实现: SELECT * FROM USERS WHERE username LIKE '%张%' AND (id =10 OR id =89 OR id=16) SELECT * FROM USERS WHERE username LIKE '%张%' AND id IN (10,89,16) 这样我们在进行范围查询时,就要将一个集合中的值,作为参数动态添加进来. 这样我们将如何进行参数的传递? 1.实体类 public class Qu

  • 初识MyBatis及基本配置和执行

    1.MyBatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. 2. MyBatis的主要构件及其作用 从MyBatis代码实现的角度来看,MyBatis的主要的核心部件有以下几个:

  • mybatis if标签判断不生效的解决方法

    实际需求 <if test="computationRule == '1'"> FROM app_sz_bbb a </if> <if test="computationRule == '2'"> FROM app_ccc a </if> 这种情况不生效, 原因:mybatis是用OGNL表达式来解析的,在OGNL的表达式中,'0'会被解析成字符,java是强类型的,char 和 一个string 会导致不等,所以if

  • MyBatis常用标签以及使用技巧总结

    前言 MyBatis常用标签及标签使用技巧 MyBatis的常用标签有很多,比如 <sql id="">:预定义可以复用的sql语句 <include refid="">:根据id引用定义的sql语句 <trim>:空白补全,配合<if>标签使用 <if test="">:条件判断,该语句返回的true,则该标签内的语句就生效 <bind name="" val

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

    MyBaties的基本配置标签 1-全局配置文件(xxx.properties)引入的两种方式 resource:引入类路径下的资源 url:引入网络路径或磁盘路径下的资源 <properties resource="dbconfig.properties"></properties> 2-settings包含设置项 name:配置项 value:属性值 <settings> <setting name="mapUnderscoreT

  • Java自定义Spring配置标签

    引言: 在Sping中,一般使用<bean>这样的元素来配置一个bean,Spring在创建容器的时候会扫描这些配置,根据配置创建对象存放于容器中,然后我们再从容器中取出,或者在配置其他bean的时候作为属性注入.使用bean配置的一个限制是我们必须遵循配置文件的XML Schema定义,这在大多数情况下不会出现问题.但是在一些情况下,我们希望实现更为灵活的bean配置.Spring为此提供了 Custom tag Support,也称为Extensible XML Authoring.通过这

  • PHP.MVC的模板标签系统(二)

    The Php.MVC Tag Action Dispatcher TagActionDispatcher是一个标准的ActionDispatcher类的实现,它支持访问基本模板标签.TagActionDispatcher类支持相同的ActionObjects集合和ViewResourcesConfig属性作为默认的ActionDispatcher.TagActionDispatcher类能被用在带有或没有带有模板标签系统上,尽管由于它的额外处理会造成小的性能下降.    模板标签库是PHP.M

  • spring aop两种配置方式

    第一种:注解配置AOP 注解配置AOP(使用 AspectJ 类库实现的),大致分为三步: 1. 使用注解@Aspect来定义一个切面,在切面中定义切入点(@Pointcut),通知类型(@Before, @AfterReturning,@After,@AfterThrowing,@Around). 2. 开发需要被拦截的类. 3. 将切面配置到xml中,当然,我们也可以使用自动扫描Bean的方式.这样的话,那就交由Spring AoP容器管理. 另外需要引用 aspectJ 的 jar 包:

  • Spring使用AspectJ注解和XML配置实现AOP

    本文演示的是Spring中使用AspectJ注解和XML配置两种方式实现AOP 下面是使用AspectJ注解实现AOP的Java Project 首先是位于classpath下的applicationContext.xml文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmln

  • JavaWeb开发之JSTL标签库的使用、 自定义EL函数、自定义标签(带属性的、带标签体的)

    JSTL  JSTL简介: JSTL的全称:JSP Standard Tag Library,JSP标准标签库 JSTL的作用: 提供给Java Web开发人员一个标准通用的标签函数库 和EL来取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序可读性.维护性和方便性 JSTL的版本: JSTL的主要版本是1.0.1.1和1.2(区别不大) 1.0版本EL表达式还没有纳入官方规范 1.1和1.2版本EL表达式已经纳入了官方规范 JSTL1.1 下载相应的jar包 JSTL

  • logback 配置详解(推荐)

    概览 简单地说,Logback 是一个 Java 领域的日志框架.它被认为是 Log4J 的继承人. Logback 主要由三个模块组成: logback-core logback-classic logback-access logback-core 是其它模块的基础设施,其它模块基于它构建,显然,logback-core 提供了一些关键的通用机制.logback-classic 的地位和作用等同于 Log4J,它也被认为是 Log4J 的一个改进版,并且它实现了简单日志门面 SLF4J:而

  • 小程序如何写动态标签的实现方法

    web开发中,尤其使用react开发项目时,我们可以很方便的动态定义标签(jsx) const props = { id: '', className: '', data-a: '' } <button {...props} /> 动态配置标签的好处一是所有逻辑在JS端控制,二是使得我们的模板非常规范,方便后续维护更新,碎片模板可以很好的控制,三是我们可以根据使用场景很方便的配置props的属性,这样在html结构输出的时候能够得到比较干净的结构 在小程序的开发中,却不能实现类似的功能,导致我

  • 详解SpringMVC的url-pattern配置及原理剖析

    xml里面配置标签: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> &

  • Mybatis sqlMapConfig.xml中的mappers标签使用

    目录 sqlMapConfig.xml中的mappers标签 mappers(映射配置) 1.1:通过resource加载单个映射文件 1.2:通过mapper接口加载单个映射文件 1.3:批量加载mapper(推荐使用) sqlmapconfig核心标签说明以及配置 配置项详解 配置示例 sqlMapConfig.xml中的mappers标签 mappers(映射配置) 1.1:通过resource加载单个映射文件 < !– 加载映射文件 –> < mappers> < !

随机推荐