MyBatis的环境配置

 

一、拓展包

MyBatis的环境配置_第1张图片

二、配置文件

mybatis-config.xml




	
	
		
	
	
	
		
		
	
	
	
		
		
	
	
  	
  
    
    	
    	
      
      
      
        
        
        
        
      
    
  
  
  
  	
  	
  	
  

database.properties

username=root
password=123
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/smbms?useUnicode=true&characterEncoding=utf-8

两个文件互相配合?

log4j.properties 日志文件,没有的话也可以运行  但是会有报错

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# 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

三、Mapper和Dao

Mapper主要是书写了Sql语句



  
  

	
	
	
	
	
	

Dao是一个借口主要写了是为实现方法体的方法 :

1、方法名与Mapper中select标签的id值一样

2、方法中的形参类型与parameterType中类型一致

3、方法中返回值与resultType类型一样

package com.xit.dao;

import java.util.List;
import java.util.Map;

import com.xit.pojo.User;

public interface UserDAO {
	public Integer selectCount();
	public List selectList();
	public List selectByUserNameAndRole(User user);
	public List selectByUserNameAndRoleMap(Map map);
	public User selectByPrimary(long id);
}

四、防止重复实例化的单例模式

实例化工厂类

MyBatisUtils

package com.xit.common;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MyBatisUtils {
	private static SqlSessionFactory factory;
	static {		
		 InputStream is;
		try {
			//1 读取mybatis-config.xml核心配置文件
			is = Resources.getResourceAsStream("mybatis-config.xml");
			 //2 创建SqlSessionFactoryBuilder对象
			 SqlSessionFactoryBuilder sfb = new SqlSessionFactoryBuilder();
			 //3 调用sfb对象的build()方法创建SqlSessionFactory对象
			 factory = sfb.build(is);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public static SqlSession getSession() {
		return factory.openSession();
	}
	public static void closeSession(SqlSession session) {
		if(session!=null) {
			session.close();
		}
	}
}

 根据id查找用户

	@Test
	void testselectByPrimary() {
		SqlSession session = MyBatisUtils.getSession();
		UserDAO userDAO = session.getMapper(UserDAO.class);
		User user = userDAO.selectByPrimary(13L);
		System.out.println(user.getUserName());
	}	

 

 

你可能感兴趣的:(MyBatis的环境配置)