<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright ${license.git.copyrightYears} the original author or authors.

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<document xmlns="http://maven.apache.org/XDOC/2.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">

  <properties>
    <title>MyBatis-Spring | Introduction</title>
    <author email="hpresnall@gmail.com">Hunter Presnall</author>
    <author email="eduardo.macarron@gmail.com">Eduardo Macarron</author>
  </properties>

 <body>
 <section name="Introduction">
  <subsection name="What is MyBatis-Spring?">
      <p>
      MyBatis-Spring integrates MyBatis seamlessly with Spring.
      This library allows MyBatis to participate in Spring transactions, takes care of
      building MyBatis mappers and <code>SqlSession</code>s and inject them into other beans, 
      translates MyBatis exceptions into Spring <code>DataAccessException</code>s, 
      and finally, it lets you build your application code free of 
      dependencies on MyBatis, Spring or MyBatis-Spring.
      </p>
  </subsection>

  <subsection name="Motivation">
      <p>
      Spring version 2 only supports iBATIS version 2. An attempt was made to
      add MyBatis 3 support into Spring 3 (see the Spring Jira 
      <a href="https://jira.springsource.org/browse/SPR-5991">issue</a>).
      Unfortunately, Spring 3 development ended before MyBatis 3 was
      officially released. Because the Spring team did not want to release with
      code based on a non-released version of MyBatis, official Spring support
      would have to wait. Given the interest in Spring support for MyBatis, 
      the MyBatis community decided it was time to reunite the interested contributors 
      and add Spring integration as a community sub-project of MyBatis instead.
      </p>
  </subsection>

  <subsection name="Requirements">
    <p>
      Before starting with MyBatis-Spring integration, it is very important
      that you are familiar with both MyBatis and Spring terminology. This
      document does not attempt to provide background information or basic
      setup and configuration tutorials for either MyBatis or Spring.
    </p>
    <p>
      MyBatis-Spring requires following versions:
    </p>
	<table>
		<thead>
			<tr>
				<th>
					MyBatis-Spring
				</th>
				<th>
					MyBatis
				</th>
				<th>
					Spring Framework
				</th>
				<th>
					Spring Batch
				</th>
				<th>
					Java
				</th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<td>
					2.0
				</td>
				<td>
					3.5+
				</td>
				<td>
					5.0+
				</td>
				<td>
					4.0+
				</td>
				<td>
					Java 8+
				</td>
			</tr>
			<tr>
				<td>
					1.3
				</td>
				<td>
					3.4+
				</td>
				<td>
					3.2.2+
				</td>
				<td>
					2.1+
				</td>
				<td>
					Java 6+
				</td>
			</tr>
		</tbody>
	</table>
  </subsection>

  <subsection name="Acknowledgements">
    <p>
      A special thanks goes to all the special people who made this project
      a reality (in alphabetical order): Eduardo Macarron, Hunter Presnall 
      and Putthiphong Boonphong for the coding, testing and documentation;
      Andrius Juozapaitis, Giovanni Cuccu, Mike Lanyon, Raj Nagappan and Tomas Pinos 
      for their contributions; and Simone Tripodi for finding everyone and
      bringing them all back to the project under MyBatis ;) Without them,
      this project wouldn't exist.
    </p>
  </subsection>

  <subsection name="Help make this documentation better…">
    <p>
      If you find this documentation lacking in any way, or missing
      documentation for a feature, then the best thing to do is learn
      about it and then write the documentation yourself!
    </p>
    <p>
      Sources of this manual are available in xdoc format at
      <a href="https://github.com/mybatis/spring/tree/master/src/site">project's Git </a>
      Fork the repository, update them and send a pull request.
    </p>
    <p>
      You’re the best author of this documentation, people like you have
      to read it!
    </p>
  </subsection>

      <subsection name="Translations">
        <p>Users can read about MyBatis-Spring in the following translations:</p>
        <ul class="i18n">
          <li class="en"><a href="./getting-started.html">English</a></li>
          <li class="es"><a href="./es/index.html">Español</a></li>
          <li class="ja"><a href="./ja/index.html">日本語</a></li>
          <li class="ko"><a href="./ko/index.html">한국어</a></li>
          <li class="zh"><a href="./zh/index.html">简体中文</a></li>
        </ul>
        <p>Do you want to read about MyBatis in your own native language? Fill an issue providing patches with your
        mother tongue documentation!</p>
      </subsection>
</section>
</body>

</document>
