spring3.2.4+mybatis3.2.3在maven下的整合

最近在自学spring,看到第五章时发现文章里介绍的只有基于jdbc,hibernate等于spring的整合,而本白项目中mybatis用的比较多,所以就自己动手整合了一下,中间也遇到了一些小麻烦,但最终还是完成了。特此记录。

项目目录结构:


首先,新建一个maven项目(不会新建maven的请点此链接:点我进链接)。然后是配置pom.xml,引入项目所需的jar包,具体配置如下:


	4.0.0

	MavenDemo
	springAndMybatis
	0.0.1-SNAPSHOT
	jar

	springAndMybatis
	http://maven.apache.org

	
		UTF-8
	

	
		
			junit
			junit
			3.8.1
			test
		

		
		
			org.springframework
			spring-orm
			3.2.4.RELEASE
		
		
			org.springframework
			spring-webmvc
			3.2.4.RELEASE
		

		
		
			org.mybatis
			mybatis
			3.2.3
		
		
			org.mybatis
			mybatis-spring
			1.2.1
		

		
		
			com.alibaba
			druid
			1.0.11
		
		
		
		
			log4j
			log4j
			1.2.17
		
		
		
		
			mysql
			mysql-connector-java
			5.0.2
		
	


所需jar包都准备齐全之后,开始构建项目。spring配置文件applicationContext.xml:




    
	

	
	

	
	
		
		
		
	

	
	
		
		
	

	
	
		
		

	

此处sqlmap的xml文件都是自动扫描的,所以并不需要创建mybatis的mapper配置文件,如需了解非扫描型的配置请参见:点我进链接

db.properties:

db.url=jdbc:mysql://127.0.0.1:3306/pay
db.driverName=com.mysql.jdbc.Driver
db.username=root
db.password=auto102360
log4j.properties(此文件放在src目录下即可):

### Global logging configuration
log4j.rootLogger=DEBUG, stdout

### Uncomment for MyBatis logging
log4j.logger.org.apache.ibatis=INFO

### Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
 MenuItem.xml:




	
	
MenuItemDao.java:

package MavenDemo.springAndMybatis;

import java.util.List;

import org.springframework.stereotype.Repository;

@Repository
public interface MenuItemDao {
	
	public List getAll();
	
	public Menuitem getMenuById(String id);

}

Menuitem.java:

package MavenDemo.springAndMybatis;

import java.util.Date;

public class Menuitem {
    
    private Long menuitemnbr;

    private String menuitemdesc;

    private String menuitemurl;

    private String imagename;

    private Long parentmenuitemnbr;

    private Date datelastmaint;

    private Integer menuitemlevnbr;

    private String authitemcd;

    private String template;

    public Long getMenuitemnbr() {
        return menuitemnbr;
    }

    public void setMenuitemnbr(Long menuitemnbr) {
        this.menuitemnbr = menuitemnbr;
    }

    public String getMenuitemdesc() {
        return menuitemdesc;
    }

    public void setMenuitemdesc(String menuitemdesc) {
        this.menuitemdesc = menuitemdesc;
    }

    public String getMenuitemurl() {
        return menuitemurl;
    }

    public void setMenuitemurl(String menuitemurl) {
        this.menuitemurl = menuitemurl;
    }

    public String getImagename() {
        return imagename;
    }

    public void setImagename(String imagename) {
        this.imagename = imagename;
    }

    public Long getParentmenuitemnbr() {
        return parentmenuitemnbr;
    }

    public void setParentmenuitemnbr(Long parentmenuitemnbr) {
        this.parentmenuitemnbr = parentmenuitemnbr;
    }

    public Date getDatelastmaint() {
        return datelastmaint;
    }

    public void setDatelastmaint(Date datelastmaint) {
        this.datelastmaint = datelastmaint;
    }

    public Integer getMenuitemlevnbr() {
        return menuitemlevnbr;
    }

    public void setMenuitemlevnbr(Integer menuitemlevnbr) {
        this.menuitemlevnbr = menuitemlevnbr;
    }

    public String getAuthitemcd() {
        return authitemcd;
    }

    public void setAuthitemcd(String authitemcd) {
        this.authitemcd = authitemcd;
    }

    public String getTemplate() {
        return template;
    }

    public void setTemplate(String template) {
        this.template = template;
    }
}

至此,项目已经搭建完毕,下面用测试验证一下:

App.java:

package MavenDemo.springAndMybatis;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Hello world!
 *
 */
public class App 
{
	
    public static void main( String[] args )
    {
    	long t1 = System.currentTimeMillis();
        ApplicationContext ac = new ClassPathXmlApplicationContext("config/applicationContext.xml");
        MenuItemDao dao = ac.getBean(MenuItemDao.class);
        /*List allMenu = dao.getAllMenu();
        for (Menuitem menu : allMenu) {
        	
			System.out.println(menu.getMenuitemdesc());
			
		}*/
        Menuitem menu = dao.getMenuById("100100000");
        long t2 = System.currentTimeMillis();
        System.out.println(menu.getMenuitemdesc());
        System.out.println(t2 - t1);
    }
}
控制台将打印:


再看数据库中数据:

结果一致,测试成功!

本人也是小白一枚,如有不足之处,欢迎评论指正。






你可能感兴趣的:(java相关)