IT 관련,,/중요문자 적어두기

[SPRING]Mybatis란~

IT깡패's 2018. 7. 30. 21:44
728x90
반응형
SMALL


Mybatis란,,

Mybatis는 관계형 데이터베이스의 레코드와 자바 도메인 객체 사이의 매핑을 자동화 해주는 프레임워크로 데이터베이스의 SQL 문을 거의 그대로 사용할 수 있게 해준다.

활용하기 어려운 집계나 조인도 데이터베이스의 SQL 그대로 활용할 수 있게 해준다. 

Mybatis 프레임워크는 Ibatis 프레임워크를 동일한 개발자들이 새롭게 만든 것이다. 내부적으로는 Ibatis라는 패키지 이름이 사용되고 있으며 버전도 이어 받도 있다.

ibatis는 JDK 1.4이상에서 사용 가능하며 Mybatis는 JDK 1.5 이상을 요구한다. Mybatis 3.2 이상 버전은 JDK 1.6 이상을 요구하고 있다.


Ibatis부터의 변경된점

Package 내부 구조 변경

이름은 변경되었지만 내부적으로는 Ibatis와 같은 구조로 사용한다.

- Ibatis : com.ibatis.*

- Mybatis : com.apache.ibatis.*


SqlMap.xml 내부 구조의 변경

Ibatis의 parameterMap이 Deprecated되었으며, 기존 부분을 parameterType에 정의하게 되었다. 


  insert into test123 (user_no, user_name, data, reg_date)
  values (#{userNo}, #{username}, #{data}, #{regDate})


용어의 변경된점

- SqlMapConfig -> Configuration

- sqlMap -> mapper


네임스페이스의 방식의 변경

sqlMap 별로 약식 명칭을 사용할 수 없게 되었으며, 경로를 모두 명시해 주어야 한다. 또한 namespace가 필수 항목이 되었다.

- Ibatis : <sqlMap namespace="Data">

- Mybatis : <mapper namespace="com.sample.mapper.DataMapper">


Mybatis를 설치하기 위해서는 jar를 받을 수도 있지만 marketplace에서 spring sts를 설치한 후, spring프로젝트에 pom.xml에 들어가서 설정을 바꿔준다.

Oracle JDBC나 Maven등이 필요하다면 이 설정도 바꿔주면 된다.



	4.0.0
	com.lacuna
	www
	SpringBoot
	war
	1.0.0-BUILD-SNAPSHOT
	
		1.8
		3.2.18.RELEASE
		1.6.10
		1.6.6
	
	
		
	  
	   oracle
	   http://maven.jahia.org/maven2
	  
		
	
	
	
		
			org.lazyluke
			log4jdbc-remix
			0.2.7
		
		
		

    commons-fileupload
    commons-fileupload
    1.3.3

		
		
		
		

    org.codehaus.jackson
    jackson-mapper-asl
    1.9.13

			
		
		
		    org.mybatis
		    mybatis-spring
		    1.3.2
		

		
		
		
		    org.mybatis
		    mybatis
		    3.4.6
		

		
		
		
		    org.springframework
		    spring-jdbc
		    4.3.14.RELEASE
		

		
		
		
		    com.oracle
		    ojdbc6
            12.1.0.2
			
		
		
		
		
    		com.google.code.gson
    		gson
    		2.8.2     		
			
		
		
		
			org.springframework
			spring-context
			${org.springframework-version}
			
				
				
					commons-logging
					commons-logging
				 
			
		
		
			org.springframework
			spring-webmvc
			${org.springframework-version}
		
				
		
		
			org.aspectj
			aspectjrt
			${org.aspectj-version}
			
		
		
		
			org.slf4j
			slf4j-api
			${org.slf4j-version}
		
		
			org.slf4j
			jcl-over-slf4j
			${org.slf4j-version}
			runtime
		
		
			org.slf4j
			slf4j-log4j12
			${org.slf4j-version}
			runtime
		

		
			log4j
			log4j
			1.2.15
			
				
					javax.mail
					mail
				
				
					javax.jms
					jms
				
				
					com.sun.jdmk
					jmxtools
				
				
					com.sun.jmx
					jmxri
				
			
			runtime
		

		
		
			javax.inject
			javax.inject
			1
		
				
		
		
			javax.servlet
			servlet-api
			2.5
			provided
		

		
			javax.servlet.jsp
			jsp-api
			2.1
			provided
		
		
			javax.servlet
			jstl
			1.2
		
	
		
		
			junit
			junit
			4.7
			test
		        
		
		
	
    
        
            
                maven-eclipse-plugin
                2.9
                
                    
                        org.springframework.ide.eclipse.core.springnature
                    
                    
                        org.springframework.ide.eclipse.core.springbuilder
                    
                    true
                    true
                
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                2.5.1
                
                    1.6
                    1.6
                    -Xlint:all
                    true
                    true
                
            
            
                org.codehaus.mojo
                exec-maven-plugin
                1.2.1
                
                    org.test.int1.Main
                
            
        
    


spring프로젝트 내에 있는 web.xml의 설정도 변경해줘야 한다.

UTF-8 한글 처리 설정도 같이 넣어줬고 spring경로 설정도 같이 해주었다.





	
	encodingFilter
	
		org.springframework.web.filter.CharacterEncodingFilter
	
	
		encoding
		UTF-8
	
	
	
	
		encodingFilter
		/*
	
	
	
		contextConfigLocation
		/WEB-INF/spring/root-context.xml
	
	
	
	
		org.springframework.web.context.ContextLoaderListener
	

	
	
		appServlet
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			/WEB-INF/spring/appServlet/servlet-context.xml
		
		1
	
		
	
		appServlet
		/
	


spring Mybatis는 spring게시판이나 Upload등을 만들 때, 많이 쓰이기 때문에 같이 필수로 알아두어야 한다.


Mybatis 설정 파일 (mybatis-config.xml, root-context.xml) 생성하기

Mybatis의 설정 파일은 getConnection() 메서드의 데이터베이스 연결정보를 대체하는 기능과 매퍼와 게시판 dao, service를 연결하는 기능을 제공한다.


- servlet-context.xml



	
	
	
	
	
	
		
			
			
			
		
		
		
	 
	
	
	
	

	
	
		
		
		
	
	
	
		
	
	
		
		
	
		
			
	
	
		


- root-context,xml



	
	
	
	
  	
        
        
        
        
    
    
    
    
    	
    	
	    	
	    		
	    		
	    	
    	
    	
	
	
							
		
				
	

	
	
					

	
 
        
    

spring mybatis사용은 모든 게시판이나 프로젝트에 필수적이므로 꼭 알고 넘어가야 한다!!

728x90
반응형
LIST