Mybatis接口编程方式实现增删改查(一)

2015-07-24 08:26:52 · 作者: · 浏览: 0

前面一章Mybatis入门概述及第一个Mybatis实例实现增删改查 ,已经搭建好了eclipse,mybatis,mysql的环境,并且实现了一个简单的查询。请注意,这种方式是用SqlSession实例来直接执行已映射的SQL语句:

session.selectOne("com.mucfc.model.EmployeerMapper.findEmployeerByID", 1);

其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(比如EmployeerMapper.java),这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误.下面是详细过程:

本文要改成以接口类来实现增删改查

整个工程目录 :

\

本文示例工程免费下载

1、首先还是mybatis的配置文件mybatis-config.xml

  
  
  
  
      
        
      
      
          
      
      
      
          
              
              
          
              
                  
                  
                   
              
          
      
      
      
          
      
  

其中配置文件mysql.properties

?

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?charset=utf8
username=root
password=christmas258@


?

2、数据表对应的类Employeer.JAVA

?

package com.mucfc.model;

import java.io.Serializable;

/**
 * 雇员信息类
 *@author linbingwen
 *@time 2015.5.11
 */
public class Employeer {
	private Integer employeer_id;
	private String employeer_name;
	private Integer employeer_age ;
	private String employeer_department;
	private String employeer_worktype;
	
	public Employeer() {
		super();
	}
	public Integer getEmployeer_id() {
		return employeer_id;
	}
	public void setEmployeer_id(Integer employeer_id) {
		this.employeer_id = employeer_id;
	}
	public String getEmployeer_name() {
		return employeer_name;
	}
	public void setEmployeer_name(String employeer_name) {
		this.employeer_name = employeer_name;
	}
	public Integer getEmployeer_age() {
		return employeer_age;
	}
	public void setEmployeer_age(Integer employeer_age) {
		this.employeer_age = employeer_age;
	}
	public String getEmployeer_department() {
		return employeer_department;
	}
	public void setEmployeer_department(String employeer_department) {
		this.employeer_department = employeer_department;
	}
	public String getEmployeer_worktype() {
		return employeer_worktype;
	}
	public void setEmployeer_worktype(String employeer_worktype) {
		this.employeer_worktype = employeer_worktype;
	}
	@Override
	public String toString() {
		return "Employeer [employeer_id=" + employeer_id + ", employeer_name="
				+ employeer_name + ", employeer_age=" + employeer_age
				+ ", employeer_department=" + employeer_department
				+ ", employeer_worktype=" + employeer_worktype + "]";
	}
	


}
然后是SQL语句的配置Employeer.xml:

?

  
  
   
   
       
       
       
          
         
        
        insert into `t_employeer`(employeer_name,employeer_age,employeer_department,employeer_worktype)   
        values(#{employeer_name},#{employeer_age},#{employeer_department},#{employeer_worktype})    
        
      
       
        
        delete from `t_employeer` where employeer_id = #{employeer_id}    
        
      
        
        
        update t_employeer set employeer_name = #{employeer_name},employeer_age= #{employeer_age},employeer_department = #{employeer_department}  
        ,employeer_worktype=#{employeer_worktype}  where employeer_id = #{employeer_id}    
        
      
   

  

注意com.mucfc.mapper.EmployeerMapper这个类是存在的,它是一个接口类,上一讲我们是使用com.mucfc.model.EmployeerMapper,而上一讲的这个类是不存在的

?

4、SQL语句映射类EmployeerMapper.java

?

package com.mucfc.mapper;

import com.mucfc.model.Employeer;

/**
 * SQL语句映射类
 * @author linbingwen
 * @time 2015.5.11
 */
public interface EmployeerMapper {
	/**
	 * 注意要和Employeer.xml的方法名