Categories
Java

Setting MyBatis in Spring

MyBatis, a free software distributed under the Apache License 2.0, helps to connect Spring with relational databases using XML or annotations.
Here’s a simple example loading a jsp page to display data from a mysql table.

  1. Create a mysql database named mybatis containing a table numbers whose dump is
  1. Create a project in NetBeans or in your development environment named HelloWorldMyBatis
  1. Add the following libraries in the directory lib of Tomcat
    • commons-dbcp-1.4.jar
    • commons-pool-1.5.6.jar

    from Apache Commons and the library

    • mysql-connector-java-5.1.17-bin.jar

    from MySQLYou need these libraries to connect with mysql.

  1. Add the following libraries in the directory /WEB-INF/lib
    • jstl-api-1.2.jar
    • jstl-impl-1.2.jar
  1. Add the following libraries in the directory /WEB-INF/lib
    • org.springframework.aop-3.0.6.RELEASE.jar
    • org.springframework.asm-3.0.6.RELEASE.jar
    • org.springframework.aspects-3.0.6.RELEASE.jar
    • org.springframework.beans-3.0.6.RELEASE.jar
    • org.springframework.context-3.0.6.RELEASE.jar
    • org.springframework.context.support-3.0.6.RELEASE.jar
    • org.springframework.core-3.0.6.RELEASE.jar
    • org.springframework.expression-3.0.6.RELEASE.jar
    • org.springframework.instrument-3.0.6.RELEASE.jar
    • org.springframework.instrument.tomcat-3.0.6.RELEASE.jar
    • org.springframework.jdbc-3.0.6.RELEASE.jar
    • org.springframework.jms-3.0.6.RELEASE.jar
    • org.springframework.orm-3.0.6.RELEASE.jar
    • org.springframework.oxm-3.0.6.RELEASE.jar
    • org.springframework.test-3.0.6.RELEASE.jar
    • org.springframework.transaction-3.0.6.RELEASE.jar
    • org.springframework.web-3.0.6.RELEASE.jar
    • org.springframework.web.portlet-3.0.6.RELEASE.jar
    • org.springframework.web.servlet-3.0.6.RELEASE.jar
    • org.springframework.web.struts-3.0.6.RELEASE.jar
  1. Add the following libraries in the directory /WEB-INF/lib
    • mybatis-3.0.6-SNAPSHOT.jar
    • mybatis-spring-1.0.2-SNAPSHOT.jar
  1. Create the file /WEB-INF/web.xml
  1. Create the /WEB-INF/HelloWorldMyBatis-servlet.xml
  1. Create the file /WEB-INF/classes/log4j-helloworld.xml
  1. Create the file index.jsp in the application root
  1. Create the directory /WEB-INF/views and the file /WEB-INF/views/helloWorld.jsp
  1. Create the file /WEB-INF/classes/it/helloworld/controller/HelloWorldController.java
  1. Create the file /WEB-INF/classes/it/helloworld/dao/model/Numbers.java
  1. Create the interface /WEB-INF/classes/it/helloworld/dao/NumbersDao.java and its implementation /WEB-INF/classes/it/helloworld/dao/impl/NumbersDaoImpl.java
  1. Create the interface /WEB-INF/classes/it/helloworld/service/NumbersService.java and its implementation /WEB-INF/classes/it/helloworld/service/impl/NumbersServiceImpl.java
  1. Create the interface /WEB-INF/classes/it/helloworld/mybatis/Mapper.java
  1. Launch the application

3 replies on “Setting MyBatis in Spring”

Really really nice tutorial. Although I would like to suggest a few changes to the code as I struggled with it for hours.

1.) Change the for log4j-helloworld to

** ** (Ignore the asterisks)

2.) Add the following beans to the HelloWorldMyBatis-servlet.xml :

3.) Add the following to NumbersDaoImpl.java :

private SqlSession sqlSession;

public void setsqlSession(SqlSession sqlSession)
{
this.sqlSession=sqlSession;

}

4.) Remove destroy-method from the dataSource bean.

I approved this comment but I think something has been lost, maybe because of formatting, sorry.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.