MyBaits入门教程

什么是MyBatis

MyBatis框架的前身是Apache的一个开源项目,名称为iBaits。2010年,该项目迁移到了Google,更名为MyBatis。2013年,项目又交由GitHub托管。MyBatis在三层架构中处于Dao层,用于访问数据库。其作用类似于JDBC。为开发者减少了许多工作。


MyBatis框架的下载

我们要从GitHub官网下载MyBaits框架mybatis的下载,下载mybatis的相关jar包和源码


MyBatis框架的环境搭建

  • 导入MyBatis的相关jar包和数据库驱动包
  • mybatis所需的配置文件,其中包括主配置文件和映射配置文件,文件名任意命名,我这里将主配置文件命名为mybatis.xml,将映射配置文件命名为mapper.xml
  • 导入日志相关的配置文件

MyBatis-jar包的简单介绍和xml文件的相关配置

  • 相关jar包:

  • mybatis框架的核心jar包mybatis-3.4.6.jar(该版本为3.4.6,具体版本请以官网为准)
  • mybatis的依赖jar包:
  • ant-1.9.6.jar
  • ant-launcher-1.9.6.jar
  • asm-5.2.jar
  • cglib-3.2.5.jar
  • javassist-3.22.0-GA.jar
  • 以上是和动态代理相关的jar包
  • -------------------------------------------------------------------------------------------------------------------
  • log4j-1.2.17.jar
  • log4j-api-2.3.jar
  • log4j-core-2.3.jar
  • slf4j-api-1.7.25.jar 
  • slf4j-log4j12-1.7.25.jar
  • commons-logging-1.2.jar
  • 以上jar是和日志技术相关的jar包(这里不再做详细介绍)
  • -------------------------------------------------------------------------------------------------------------------
  • xml文件的配置和常用标签的介绍

  • mybatis.xml




	
	
	
	
	
		
		
		
		
	

	
	
	
	
		
			
           
            
			
				 
				
				
				
			
		
		
		
			
			
				
				
				
				
			
		
	

	
	
		
		
		
		
		
		
		
		
		
		
		
	
  • mapper.xml的相关配置

  • 该文件主要是映射JDBC的增删改查操作



	
		insert into student(name,age,score) values(#{name}, #{age}, #{score})
	
	
	
		insert into student(name,age,score) values(#{name}, #{age}, #{score})
		 
		
			
			select last_insert_id()
		
	
	
	
	
		delete from student where id=#{xxx}
	
	
	
		update student set name=#{name}, age=#{age}, score=#{score} where id=#{id}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

环境搭建好以后我们开始实现第一个mybatis程序吧

  • 该demo我们实现数据的插入操作
  1. 首先我们创建一个jdbc的properties文件,配置一下数据库连接的相关参数
  2. 在mybatis.xml中引入该属性文件,引入方式,详细请见上边代码
  3. 创建Student实体类,和数据库相关表。
  4. 创建业务接口IStudentDao,并添加方法void insertStudent(Student student);
  5. 创建Dao接口实现类

1.jdbc.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql:///test
username=root
password=111(填自己数据库的密码)

2.mybatis.xml




	
	
	
		
			
			
				
				 
				
				
			
		
	
	
	
	
		
	

3.Dao接口

package com.abc.dao;

import com.abc.beans.Student;

public interface IStudentDao {
	void insertStudent(Student student);
}



4.Dao实现类  (后期可用mapper动态代理,我们就不用再写实现类)

package com.abc.dao;

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 com.abc.beans.Student;

public class StudentDaoImpl implements IStudentDao {

	@Override
	public void insertStudent(Student student) {
		
		SqlSession session = null;
		try {
			// 1. 创建SqlSessionFactoryBuilder对象
			SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
			// 2. 加载主配置文件
			InputStream is = Resources.getResourceAsStream("mybatis.xml");
			// 3. 创建SqlSessionFactory
			SqlSessionFactory factory = builder.build(is);
			// 4. 创建SqlSession对象
			session = factory.openSession();
			
			// 5. 执行命令
			session.insert("insertStu", student);
			
			// 6. SqlSession的提交
			session.commit();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			// 7. SqlSession的关闭
			if (session != null) {
				session.close();
			}
		}
	}

}

5.编写测试类,我们的程序就可以运行了

package com.abc.test;

import com.abc.beans.Student;
import com.abc.dao.IStudentDao;
import com.abc.dao.StudentDaoImpl;

public class MyTest {

	public static void main(String[] args) {
		
		Student student = new Student("张三", 23, 93.5);
		
		IStudentDao dao = new StudentDaoImpl();
		dao.insertStudent(student);
	}

}

你可能感兴趣的:(SSM)