工程目录:
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<Employee> 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<Employee> 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
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="domain.UserMapper">
</mapper>
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zlm</groupId>
<artifactId>Maven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
</dependencies>
</project>
employee表
查询结果: