MyBatis简单配置及简单查询

1.把所需jar(MySQL-connector-java-5.1.18-bin.jar和mybatis-3.3.0.jar)拷贝到lib目录下

武邑网站建设公司创新互联,武邑网站设计制作,有大型网站制作公司丰富经验。已为武邑成百上千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的武邑做网站的公司定做!

2.编写与数据库对应的实体类UserInfo

3.创建mybatis-config.xml配置文件:


  
    
      
        
      
      
        
        
        
        
      
    
  


 
    
 

4.创建DBFactory类获取SqlSessionFactory

/**
 * 访问数据库类
 */
public class DBFactory {
	public static SqlSessionFactory sqlSessionFactory = null;
	static {
		try {
			String resource = "com/wc/config/mybatis-config.xml";
			InputStream inputStream = Resources.getResourceAsStream(resource);
			sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream,"mysql");//第二个参数:指定需要连接的数据库配置
			
		} catch (IOException e) {
			
		    e.printStackTrace();
		}
	}
	public static SqlSessionFactory getFactory(){
		return sqlSessionFactory;
	}

或者

/**
 * 访问数据库类
 */
public class DBAccess {

	public SqlSession getSqlSession() throws IOException{
		
		//(1)通过配置文件获取数据库连接相关信息
Reader reader = Resources.getResourceAsReader("com/wc/config/Configuration.xml"); //(2)通过配置信息构建SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader,"mysql"); //(3)通过SqlSessionFactory打开数据库回话 SqlSession sqlSession = sqlSessionFactory.openSession(); return sqlSession; } }

5.创建mybatis的sql映射文件userinfo.xml

  :对应接口,统一命名空间,重要! 

 resultMap: property对应实体类属性,column 对应着数据库字段

 sql语句: 

    id="selectUserByInterface"  唯一标识

     parameterType="java.lang.Integer"  参数的类型  

     resultMap="userResult"  返回类型

    select from user_info order by user_id

    user_id,user_name,user_sex 






  
    
    
    
  
   
   
    select  from user_info
    order by user_id
    
  
   
    select  from user_info where user_id=#{userID}
    

6.通过接口的方式调用XML的查询语句(面向接口式编程)

public interface IUserInfo {
	
	/**
	 * 根据user_id查询单个信息
	 */
	public UserInfo selectOneUserByInterface(int i);
	
	
	/**
	 * 查询全部信息
	 */
	public List selectUserByInterface();
	
}

7.从SqlSessionFactory里面获取SqlSession:DBFactory.getFactory().openSession(); 

 在从SqlSession拿到增删修查一系列方法

/**
 * 使用接口的方式进行全部查询
 */
@Test
public void selectUserByInterface() {
	List  userInfo = new ArrayList();
	// 获取sqlSession
	SqlSession session = null;
	try {
		// 从SqlSessionFactory里获取SqlSession
		session = DBFactory.getFactory().openSession();
		//接口
		IUserInfo iUserInfo = session.getMapper(IUserInfo.class);
		userInfo = iUserInfo.selectUserByInterface();
		if (userInfo != null && userInfo.size() > 0) {
			for (UserInfo user : userInfo) {
				System.out.println(user);
			}
		}
	} catch (Exception e) {

	} finally {
		if (session != null) {
			session.close();
		}	
	}
}

/**
 * 使用接口的方式进行单条查询
 */
@Test
public void selectOneUserByInterface() {
	// 获取sqlSession
	SqlSession session = null;
	try {
		// 从SqlSessionFactory里获取SqlSession
		session = DBFactory.getFactory().openSession();
		//UserInfo userInfo = session.selectOne("userinfo.selectOneUser",3);userinfo是以前的命名空间
		IUserInfo iUserInfo = session.getMapper(IUserInfo.class);
		UserInfo userInfo = iUserInfo.selectOneUserByInterface(3);
		System.out.println(userInfo);

	} catch (Exception e) {

	} finally {
		if (session != null) {
			session.close();
		}
	}
}

  最后关闭SqlSession


当前题目:MyBatis简单配置及简单查询
本文来源:http://pwwzsj.com/article/gjdgdi.html