Mybatis整合Spring和SpringMVC配置文件详解

 

配置文件

  • pom.xml(配置我们需要的jar包)
  • web.xml(启动spring容器监听器并加载spring的xml文件,加载springmvc前端控制器)
  • springmvc的配置文件(配置IOC自动注入视图对象(controller),前端页面映射配置,静态资源配置)
  • spring的配置文件(创建对象配置IOC自动注入业务对象(非cont),数据库配置,事物管理,和mybatis的结合配置)
  • mybatis的配置文件(settings, 数据库别名等,当然也都可以配置在spring中)

1、pom.xml中导入如下jar包



    4.0.0

    com.test
    mybatisExcercise
    1.0-SNAPSHOT

    
        
        
            org.springframework
            spring-context
            4.3.12.RELEASE
        

        
            org.springframework
            spring-aspects
            4.3.12.RELEASE
        

        
            org.springframework
            spring-jdbc
            4.3.12.RELEASE
        
        
            org.springframework
            spring-webmvc
            4.3.12.RELEASE
        
        
            org.springframework
            spring-orm
            4.3.12.RELEASE
        

        
            junit
            junit
            4.12
            test
        

        
        
            c3p0
            c3p0
            0.9.1.2
        

        
        
            mysql
            mysql-connector-java
            5.1.44
        
        
            org.mybatis
            mybatis
            3.4.6
        
        
            org.mybatis
            mybatis-spring
            1.3.2
        

    

其中

1.1、spring(包括:springIOC,springAOP,springMVC,spring数据库管理,spring事物管理,spring日志包)

具体spring模块可参考:https://blog.csdn.net/ruiguang21/article/details/76697225/

Mybatis整合Spring和SpringMVC配置文件详解_第1张图片

1.2、mybatis:

1.3、mybatis和spring和适配包:

1.4、数据库驱动:

1.5、数据源(数据库连接池):

额外知识:数据源和连接池的区别:Java中DriverManager跟DataSource获取getConnection有什么不同(Java中数据源和连接池的区别)

如果maven有导入不进去的,可以手动添加:

Mybatis整合Spring和SpringMVC配置文件详解_第2张图片

Mybatis整合Spring和SpringMVC配置文件详解_第3张图片

2、 web.xml

作用:启动spring容器监听器并加载spring的xml文件,加载springmvc前端控制器



  MyBatis_06_ssm
  
  
	
		contextConfigLocation
		classpath:applicationContext.xml
	

	
	
		org.springframework.web.context.ContextLoaderListener
	
	
	
	
	
		spring
		org.springframework.web.servlet.DispatcherServlet
		1
		
		
			contextConfigLocation
			classpath:spring/springmvc.xml
		
	

	
	
		spring
		/
	
  

3、 springmvc的配置文件

作用:配置IOC自动注入视图对象(controller),前端页面映射配置,静态资源配置

注意:springmvc的配置文件文件的位置:如果web.xml中配置了如下:

Mybatis整合Spring和SpringMVC配置文件详解_第4张图片

则springmvc的配置文件则是配置中指定的目录和指定的文件,但如果没有配置,springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml"

spring-servlet.xml




	
	
	
		
	
	
	
	
		
		
	
	
	
	

4、spring的配置文件

作用:创建对象配置IOC自动注入业务对象(非controller),数据库配置,事物管理,和mybatis的结合配置,以及对mapper接口的注入

位置:web.xml中配置的位置和文件名

applicationContext.xml




	
	
		
	

	
	
	
	
		
		
		
		
	
	
	
	
		
	
	
	
	
	
		
		
		
		
		
	
	
	
	
		
		
	
	
	
	
	
	

5、mybatis相关配置

其实这些配置都可以写在spring配置文件的

原生的mybatis中操作数据库的对象是:SqlSession,而sqlSession的获取方式是:

String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
//获取sqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//获取sqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();

//得到Mapper接口的对象
DepartmentMapper mapper = sqlSession.getMapper(DepartmentMapper.class);
//Mapper接口的对象去调用自己的方法返回结果
Department deptById = mapper.getDeptById(1);

所以mybatis相关的配置都写在id="sqlSessionFactoryBean"的bean中。

附:原生mybatis.xml配置:




	
	
	
	
	
	
		
		
		
		
		
		
		
	
	
	
	
	
		
		
		
		
		
		
		
	
		
	
		 
	
		
			
			
				
				
				
				
			
		
	
		
			
			
				
				
				
				
			
		
	
	
	
	
	
		
		
		
		
	
	
	
	
	
	
		
		
		
		
		
		
	

Mybatis整合Spring和SpringMVC配置文件详解_第5张图片

即:mybatis中也可以设置连接池 

mybatis-config.xml

因为spring中已配置了数据源、事物管理、mapper.xml的地址,所以mybatis中可以只配置setting和数据库别名的配置;当然,这些也可以直接写在spring中;




	
		
		
		
		
		
		
		
	
	
	
		
		
		
	
	

6、数据库配置文件

dbconfig.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?allowMultiQueries=true
jdbc.username=root
jdbc.password=123456

orcl.driver=oracle.jdbc.OracleDriver
orcl.url=jdbc:oracle:thin:@localhost:1521:orcl
orcl.username=scott
orcl.password=123456

编写自己的代码

  • 创建controller,servlet,dao,mapper, bean类即可
  • 并可以使用注解@controller, @Service, @Autowired进行编码

 

 

你可能感兴趣的:(spring,springmvc,Mybatis)