Maven使用注解配置SQL映射器(@Select,@Insert,@Update,@Delete)

工程目录:
Maven使用注解配置SQL映射器(@Select,@Insert,@Update,@Delete)_第1张图片
Client.java

package client;

import java.io.*;
import java.util.List;
import org.apache.ibatis.io.*;
import org.apache.ibatis.session.*;
import domain.Employee;
import domain.UserMapper;

public class Client {
	public static void main(String args[]) throws IOException {
		InputStream in=null;
		SqlSessionFactory factory=null;
		SqlSession sqlSession=null;
		try {
			in = Resources.getResourceAsStream("mybatis-config.xml");
		}
		catch(IOException e) {
			e.printStackTrace();
		}
		try {
			factory = new SqlSessionFactoryBuilder().build(in);
			sqlSession = factory.openSession();		
			UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
			List list = userMapper.findAllEmployees();//注解配置映射查询 
			for(Employee emp:list)
				System.out.println(emp.getDeptId()+" "+emp.getEmpId()+" "+emp.getName());
			Employee emp=new Employee();
			emp.setDeptId(1);
			emp.setEmpId(5);
			emp.setName("小包");
			System.out.println("insert "+userMapper.insertEmp(emp)+" row is affected");//注解配置映射插入
			Employee emp2=new Employee();
			emp2.setEmpId(1);
			emp2.setName("月牙");
			System.out.println("update "+userMapper.updateEmp(emp2)+" row is affected");//注解配置映射更新
			System.out.println("delete "+userMapper.deleteEmp(2)+" row is affected");//注解配置映射删除
			sqlSession.commit();
		}
		catch(Exception e) {
			e.printStackTrace();
			if(sqlSession!=null) {
				sqlSession.rollback();
			}
		}
		finally {
			if(sqlSession!=null) {
				sqlSession.close();
			}
		}
	}
}

Department.java

package domain;

public class Department {
	private int deptId;
	private String deptName;
	public int getDeptId() {
		return deptId;
	}
	public void setDeptId(int deptId) {
		this.deptId = deptId;
	}
	public String getDeptName() {
		return deptName;
	}
	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}
}

Employee.java

package domain;

public class Employee {
	private int empId;
	private String name;
	private int deptId;
	public int getEmpId() {
		return empId;
	}
	public void setEmpId(int empId) {
		this.empId = empId;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getDeptId() {
		return deptId;
	}
	public void setDeptId(int deptId) {
		this.deptId = deptId;
	}
}

UserMapper.java(interface)

package domain;

import java.util.List;

import org.apache.ibatis.annotations.*;

public interface UserMapper {
	@Select("select * from employee")
	public List findAllEmployees();
	
	@Insert("insert into employee values(#{empId},#{name},#{deptId})")
	public int insertEmp(Employee emp);//返回受影响的行数
	
	@Update("update employee set name=#{name} where empId=#{empId}")
	public int updateEmp(Employee emp);
	
	@Delete("delete from employee where empId=#{empId}")
	public int deleteEmp(int empId);
}

UserMapper.xml






pom.xml


	4.0.0
	com.zlm
	Maven
	0.0.1-SNAPSHOT
	
		
			org.mybatis
			mybatis
			3.2.6
		
		
			mysql
			mysql-connector-java
			5.1.40
		
		
			log4j
			log4j
			1.2.17
		

		
			org.mybatis
			mybatis-spring
			1.3.1
		
	

employee表
Maven使用注解配置SQL映射器(@Select,@Insert,@Update,@Delete)_第2张图片
查询结果:
Maven使用注解配置SQL映射器(@Select,@Insert,@Update,@Delete)_第3张图片

你可能感兴趣的:(My,SQL,MyBatis,mybatis,maven,mysql)