mybatis系列(一)--初识mybatis,以及mybatis的基本配置和执行

一.初识mybatis

iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO),MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目迁移到了google code,并且改名为MyBatis ,2013年11月迁移到Github。


二.mybatis的基本配置和执行

1.准备mybatis的jar包:mybatis-3.2.8.jar

   准备数据库jar包(我用的是mysql):mysql-connector-java-3.1.12-bin.jar


2.准备mybatis的主配置文件:mybatis-config.xml

项目架构看图,其中jdbc.propertis为数据库连接配置文件

mybatis系列(一)--初识mybatis,以及mybatis的基本配置和执行_第1张图片


下面附上jdbc.propertis和mybatis-config.xml的代码


jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=12345




    
    
	
	
	
	
	
		
	
	
	
		
			
			
				
				
				
				
			
			
			
		
		
		
		
			
			
				
				
				
				
			
		
		
	
	
		
	
	
	
	



现在我们有了mybatis的主配置文件,但要想运行mybatis我们还要知道两个很关键的知识点 

1.SqlSessionFactory 2.SqlSession

SqlSessionFactory 根据他的名字就知道,这是一个mybatis的session工厂,用来创建mybatis的核心:SqlSession

所以我们1.要通过刚刚的主配置文件得到SqlSessionFactory。2.通过SqlSessionFactory打开数据库会话,获得SqlSession

再说下SqlSession的作用:
1.向sql语句传入参数
2.执行sql语句
3.获取执行sql语句的结果
4.事务的控制 

思路明了:1.通过主配置文件拿到SqlSessionFactory 2.通过SqlSessionFactory 拿到SqlSession 来操作我们的数据库。下面看代码


mybatis系列(一)--初识mybatis,以及mybatis的基本配置和执行_第2张图片

package com.douhao.service;

import java.io.IOException;
import java.io.Reader;
import java.util.List;

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

import com.douhao.model.Student;


public class StudentService {
	/**
	 * 
	 * @author 
	 * @description 获得SqlSessionFactory
	 * @return
	 * @throws IOException
	 * @update 2016年9月24日 下午4:21:54
	 */
	public SqlSessionFactory getSessionFactory() throws IOException{
		//通过配置文件获取数据库连接的相关信息
		Reader reader= Resources.getResourceAsReader("mybatis-config.xml");
		//通过配置信息构建SqlSessionFactory
		SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);
		return sqlSessionFactory;
	}
	
	public static void main(String[] args) {
		StudentService studentService=new StudentService();
		SqlSession sqlSession=null;
		try {
			SqlSessionFactory sqlSessionFactory=studentService.getSessionFactory();
			sqlSession=sqlSessionFactory.openSession();
			List list=sqlSession.selectList("student.findStudentById");//这里配置的是StudentMapper.xml中 (namespace.元素id)
			System.out.println(list.size());
			for(Student s:list){
				System.out.println(s.getId());
			}
		} catch (IOException e) {
			e.printStackTrace();
		}finally {
			if(sqlSession!=null){
				sqlSession.close();
			}
		}
	}

}


package com.douhao.model;

public class Student {
	
	Integer id;
	String name;
	String age;
	
	public Student() {
		super();
	}
	
	public Student(String name, String age) {
		super();
		this.name = name;
		this.age = age;
	}
	
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	

}







	
	
 


执行main方法后查出纪录。至此mybatis能运行了。

你可能感兴趣的:(mybatis系列(一)--初识mybatis,以及mybatis的基本配置和执行)