第一个mybatis项目(helloworld级别)

第一个mybatis项目(helloworld级别)

    • **项目整体的目录结构**
    • **1、 首先创建一个Java Project\**
    • **2、 导入MyBatis所需要的Jar包**
    • ** 3、 新建数据库(mybatis)、数据表(tbl_employee)**
    • **4、新建全局配置文件mybatis-config.xml**
    • **5、建立EmployeeMapper**
    • **6、建立Java 测试类**
    • **7、建立映射文件EmployeeMapper.xml**
    • 总结:

本人最近因为项目需要,自学了mybatis,总结了一下,写成了笔记,供大家学习,一起进步。

项目整体的目录结构

第一个mybatis项目(helloworld级别)_第1张图片

*1、 首先创建一个Java Project*

第一个mybatis项目(helloworld级别)_第2张图片

2、 导入MyBatis所需要的Jar包

右键Mybatis_helloWorld--------->Folder—>输入lib

第一个mybatis项目(helloworld级别)_第3张图片
Mybatis其实只需要两个jar包就可以
第一个mybatis项目(helloworld级别)_第4张图片
但是为了调试,我们又加入了log4j.jar这个jar包,为了Junit调试,我们又加入了这两个包
在这里插入图片描述
第一个mybatis项目(helloworld级别)_第5张图片
然后CTRL 分别左键同时选中这几个包,右键build Path-------->Add to Build Path
第一个mybatis项目(helloworld级别)_第6张图片
Log4j.jar这个包如果日志包如果想运行,还有在类路径下建立一个conf文件夹,导入log4j.xml(右键mybatis_helloword项目文件夹------->new -------->source Folder—>输入conf)
第一个mybatis项目(helloworld级别)_第7张图片
第一个mybatis项目(helloworld级别)_第8张图片
建成后,目录结构如下:
第一个mybatis项目(helloworld级别)_第9张图片

**

** 3、 新建数据库(mybatis)、数据表(tbl_employee)**

**

表中四个字段分别为id,last_name,gender,email(其中id为int型,last_nam,email都为varchar2,gender为char型)
第一个mybatis项目(helloworld级别)_第10张图片

4、 建Employee实体类

package com.wyz.mybatis.bean;

public class Employee {
	private Integer id;
	private String lastName;
	private String gender;
	private String email;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	@Override
	public String toString() {
		return "Employee [id=" + id + ", lastName=" + lastName + ", gender=" + gender + ", email=" + email + "]";
	}
	
}

4、新建全局配置文件mybatis-config.xml




	
		
			
			
				
				
				
				
			
		
	
	
	
		
	

5、建立EmployeeMapper

package com.wyz.mybatis.dao;

import com.wyz.mybatis.bean.Employee;

public interface EmployeeMapper {
	public Employee getEmpById(Integer id);
}

6、建立Java 测试类

package com.wyz.mybatis.test;

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;
import org.junit.Test;

import com.wyz.mybatis.bean.Employee;
import com.wyz.mybatis.dao.EmployeeMapper;



public class MybatisTest {
	@Test
	public void test() throws IOException{
			//1、获取sqlsessionFactory对象
			String resource = "mybatis-config.xml";
			InputStream inputStream = Resources.getResourceAsStream(resource);
			SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
			
			//2 、获取sqlsession对象
			SqlSession sqlSession = sqlSessionFactory.openSession();
			
		
			try {
				//3、获得接口的实现类对象
				EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
				//4通过mapper接口的实现类对象调用方法查询,并打印
				Employee employee = employeeMapper.getEmpById(1);
				System.out.println(employee);
			} finally {
				sqlSession.close();
			}
	}
}

7、建立映射文件EmployeeMapper.xml





	

8、执行测试文件,as Junit
在这里插入图片描述

总结:

1、接口式编程
原生: Dao ====> DaoImpl
mybatis: Mapper ====> xxMapper.xml
不需要mapper实现类

2、SqlSession代表和数据库的一次会话;用完必须关闭;
3、SqlSession和connection一样她都是非线程安全。每次使用都应该去获取新的对象。
4、mapper接口没有实现类,但是mybatis会为这个接口生成一个代理对象。
(将接口和xml进行绑定)

EmployeeMapper empMapper =	sqlSession.getMapper(EmployeeMapper.class);

5、两个重要的配置文件:
mybatis的全局配置文件:包含数据库连接池信息,事务管理器信息等…系统运行环境信息
sql映射文件:保存了每一个sql语句的映射信息:将sql抽取出来。

你可能感兴趣的:(mybatis)