MyBatis框架配置及增删改查应用实例

MyBatis学习——配置及增删改查

    首先,使用 MyBatis 框架时,与使用其他框架相同,我们第一步需要配置所需环境。

1、在项目中创建lib目录,把 MyBatis 核心 jar 包以及使用数据库 MySQL  Or  Oracle 数据库 jar 包放到lib文件夹下,build path 添加至工程。

2、 配置核心mybatis-config.xml文件,其中,核心文件中主要使用有 environments 环境配置、属性propertiessettingstypeAliases别名配置、 不同数据库厂商databaseIdProvidermappers引入映射文件等。

3、学习时我使用Oracle,练习时为了练习动态环境切换,我用到了MySQL数据库,所以,我的 mybatis-config.xml 配置一般为两个环境配置:如下代码:

  


	
	
	
	
		
	
	
	
		
		
			
			
				
				
				
				
			
		

		
		
			
			
				
				
				
				
			
		
	
	
	
		
		
		
	
	
	
		
	

其中常用属性及参数可参考官方PDF说明文档。

4、采用 properties 属性文件配置数据库驱动,我的 db.properties.xml 属性文件配置如下:

#****************Oracle*******************
orcl.driver=oracle.jdbc.OracleDriver
orcl.url=jdbc:oracle:thin:@localhost:1521:orcl
orcl.username=scott
orcl.password=tiger

#****************MySQL******************** 
mysql.driver=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
mysql.username=root
mysql.password=root

5、创建实体类(以 Oracle 数据库的 emp 表为例,做一个简单的增删改查操作)

package com.aaa.entity;

/**
 * @Description Emp表实体类
 * @author 刘鹏博
 * @version v1.0
 * @date 2018-3-13
 **/
public class Emp {
	private Integer empno;
	private String ename;
	private String job;
	public Integer getEmpno() {
		return empno;
	}
	public void setEmpno(Integer empno) {
		this.empno = empno;
	}
	public String getEname() {
		return ename;
	}
	public void setEname(String ename) {
		this.ename = ename;
	}
	public String getJob() {
		return job;
	}
	public void setJob(String job) {
		this.job = job;
	}
	public Emp() {
		super();
	}
	public Emp(Integer empno, String ename, String job) {
		super();
		this.empno = empno;
		this.ename = ename;
		this.job = job;
	}
	@Override
	public String toString() {
		return "Emp [empno=" + empno + ", ename=" + ename + ", job=" + job
				+ "]";
	}
	
}

6、创建 Dao 层接口

package com.aaa.dao;

import java.util.List;

import com.aaa.entity.Emp;

/**
 * @Description Emp业务接口
 * @author 刘鹏博
 * @version v1.0
 * @date 2018-3-13
 **/
public interface EmpDao {
	/**
	 * 增加
	 * @param emp
	 * */
	public void addEmp(Emp emp);

	/**
	 * 删除
	 * @param empno
	 * */
	public void deleteEmp(Integer empno);

	/**
	 * 修改
	 * @param emp
	 * */
	public void updateEmp(Emp emp);
	
	/**
	 * 通过 empno 查询数据
	 * @param empno
	 * @return Emp
	 * */
	public Emp selectEmpByEmpno(Integer empno);
	
	/**
	 * 查询Emp数据
	 * @return List
	 * */
	public List selectEmpAll();

}

7、配置接口的映射文件 EmpDaoMapper.xml

  
  
  
  
	
	
		insert into emp values(empno = #{empno},ename = #{ename},job = #{job})
	
	
	
	
		delete emp where empno = #{empno}
	
	
	
	
		update emp set ename = #{ename},job = #{job} where empno = #{empno}
	
	
	
	
	
	
	
	

8、编写 MyBatisUtil 工具类,即封装 SqlSessionFactory 工厂类

package com.aaa.util;

import org.apache.ibatis.io.ResolverUtil.Test;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

/**
 * @Description MyBatis工具类
 * @author 刘鹏博
 * @version v1.0
 * @date 2018-3-13
 **/
public class MyBatisUtil {
	private static SqlSessionFactory factory;
	static {
		factory = new SqlSessionFactoryBuilder().build(Test.class
				.getClassLoader().getResourceAsStream("mybatis-config.xml"));
	}

	/**
	 * 获取sqlSessionFactory
	 * */
	public static SqlSessionFactory getFactory() {
		return factory;
	}

	/**
	 * 获取sqlSession对象
	 * */
	public static SqlSession getSession() {
		return factory.openSession(true);
	}
}

9、创建测试类Test

package com.aaa.test;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.aaa.dao.EmpDao;
import com.aaa.entity.Emp;
import com.aaa.util.MyBatisUtil;

/**
 * @Description 测试类
 * @author 刘鹏博
 * @version v1.0
 * @date 2018-3-13
 **/
public class Test {
	public static void main(String[] args) {
		SqlSession session = MyBatisUtil.getSession();
		EmpDao mapper = session.getMapper(EmpDao.class);
		
		// 查询Emp表所有数据
		List selectEmpAll = mapper.selectEmpAll();
		for (Emp emp : selectEmpAll) {
			System.out.println(emp);
		}
	}
}

你可能感兴趣的:(MyBatis,Java,Web)