MyBatis相关

MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。Mybatis省去了大部分的JDBC代码、手工设置参数和结果集重获。Mybatis只使用简单的XML和注解来配置和映射基本数据类型、Map接口和POJO(Plain Ordinary Java Object)到数据库的记录,属于一种半自动话的ORM实现。

需要的jar包:mybytis-3.0.2.jar

本文介绍主要介绍MyBatis的主配置文件mybatis-config.xml

参考博文:http://limingnihao.iteye.com/blog/1060764

1. 标签configuration

1.1   properties

指定DB properties配置文件,配置数据库信息。

Resource指定.properties路径,有两个标签分别为name 和value,替换成文件中相应的属性值。

1.2   settings设置,是mybatis修改操作运行过程细节的重要步骤

1.3   typeAliases类型别名

简写java的类名,比如“pd”可以再任何地方代替”com.te.util.PageData”

1.4   typeHandler类型句柄

无论是MyBatis在预处理语句中设置一个参数,还是从结果集中取出一个值时,类型处理器被用来将获取的值以合适的方式转换成Java类型。

你可以重写类型处理器或创建你自己的类型处理器来处理不支持的或非标准的类型。要这样做的话,简单实现TypeHandler接口(org.mybatis.type),然后映射新的类型处理器类到Java类型,还有可选的一个JDBC类型。然后再typeHandlers中添加这个类型处理器。

新定义的类型处理器将会覆盖已经存在的处理Java的String类型属性和VARCHAR参数及结果的类型处理器。要注意MyBatis不会审视数据库元信息来决定使用哪种类型,所以你必须在参数和结果映射中指定那是VARCHAR类型的字段,来绑定到正确的类型处理器上。这是因为MyBatis直到语句被执行都不知道数据类型的这个现实导致的。

1.5   ObjectFactory对象工厂

每次MyBatis 为结果对象创建一个新实例,都会用到ObjectFactory。默认的ObjectFactory 与使用目标类的构造函数创建一个实例毫无区别,如果有已经映射的参数,那也可能使用带参数的构造函数。

1.6   Plugins插件

MyBatis允许你在某一点拦截已映射语句执行的调用。默认情况下,MyBatis允许使用插件来拦截方法调用:

1.7   environments环境

可以配置多个环境,可以帮助SQL映射对应多种数据库等。

1.8   Mapper映射器

告诉Mybatis去哪里寻找映射SQL的语句。可以使用类路径中的资源引用,或者使用字符,输入确切的URL引用。

MyBatis配置文件中大标签configuration下子标签包括,需要的标签就写,不需要的可以不写,但以下标签的前后顺序不可更改!!!The content of element type “configuration” must match “properties, settings, typeAliases, typeHandlers, objectFactory, objectWrapperFactory, plugins, environments, databaseIdProvider, mappers”.

configuration

|--- properties

|--- settings

|--- typeAliases

|--- typeHandlers

|--- objectFactory

|--- plugins

|--- environments

|--- |--- environment

|--- |--- |--- transactionManager

|--- |--- |__ dataSource

|__ mappers

时间: 2024-10-11 13:37:13

MyBatis相关的相关文章

使用Mybatis Generator自动生成Mybatis相关代码

本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码: 一.构建一个环境: 1. 首先创建一个表: Sql代码   CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); 2. 然后注入数据 Sql代码   insert into pet values('Fluffy', 'Harold',

Mybatis相关SQL操作总结

1.resultMap和resultType等参数以及结果集 <select id="getApplicationByRoleCode" resultType="platform.appframe.entity.AfaApplication" parameterType="java.lang.String" > select distinct <include refid="Application_Base_Colum

mybatis 相关博客

mybatis配置文件中的<mapper>元素解析:http://haohaoxuexi.iteye.com/blog/1841033 MappingJackson2HttpMessageConverter位于spring 4.x版本中,用来代替spring 3.x中的MappingJacksonHttpMessageConverter

mybatis 相关总结

Mybatis的<where><foreach><set>等标签详解:http://blog.csdn.net/zenson_g/article/details/10137665 mybatis处理集合.循环.数组和in等语句的使用: http://www.suyunyou.com/aid5.html

Mybatis 相关知识(一)

1. #{-} 和 ${-}的区别 #{-}是占位符的形式,${}是拼接的方式 MyBatis将 #{-} 解释为JDBC prepared statement 的一个参数标记.而将 ${-} 解释为字符串替换.理解这两者的区别是很有用的, 因为在某些SQL语句中并不能使用参数标记(parameter markers). 比如,我们不能在表名(table name)的位置使用参数标记. 假设有下面的代码: 01.Map<String, Object> parms = new HashMap&l

mybatis相关知识

@param解释为映射mapper.xml中的传参 mybatis中批量新增时用foreach循环,注意其中的collection属性,有list,数组 注意foreach中sql函数的写法,oracle和mysql区别 oracle 中需要加分隔符(网站自行查询),select ....from dual merge into函数的写法(研究中) 原文地址:https://www.cnblogs.com/wangc04/p/8593235.html

Mybatis相关试题

1.MyBatis有两种事务管理器类型,分别是() A:JDBC B:MANAGED C:POOLED D:JBDI 正确答案:AB 试题分析: 在 MyBatis 中有两种事务管理器类型(也就是 type=”[JDBC|MANAGED]”):? JDBC – 这个配置直接简单使用了JDBC 的提交和回滚设置.它依赖于从到的连接来管理事务范围.? MANAGED – 这个配置几乎没做什么.它从来不提交或回滚一个连接.容器来管理事务的整个生命周期(比如 Spring 或 JEE应用服务器的上下文情

No enum constant org.apache.ibatis.type.JdbcType.Integer 【找不到这个枚举类,mybatis相关】

同事今天在用mybatis查询时候,报了上面这个问题.上网查了下,原来是mybatis封装类型的问题.原因是在resultMap中jdbcType写为了Integer,但是在MyBatis中没有这个数据类型 来查看了原码,发现MyBatis的jdbcType是一个枚举类,有以下类型: public enum JdbcType { ARRAY(2003), BIT(-7), TINYINT(-6), SMALLINT(5), INTEGER(4), BIGINT(-5), FLOAT(6), RE

Mybatis 相关配置

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <!--配置全局属性 --> <sett