班级、学生一对多
studentMapper.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="studentMapper">
<select id="getStudents" resultMap="getStudentMap">
select * from class c,student s where s.classnumber=c.classnumber
</select>
<delete id="deleteStudents" parameterType="int">
delete from student where id=#{id}
</delete>
<resultMap type="pojo.student" id="getStudentMap">
<id column="id" property="id"></id>
<result column="name" property="name"/>
<result column="sex" property="sex"/>
<result column="classnumber" property="classnumber"/>
<result column="birth" property="birthday"/>
<association property="c" javaType="pojo.classes">
<id column="classnumber" property="classnumber"/>
<result column="classname" property="classname"/>
</association>
</resultMap>
</mapper>
测试类
package test;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import pojo.student;
public class mytest {
SqlSession session;
@Before
public void beforeLoadXML(){
//加载 mybatis 配置文件
InputStream inputStream = mytest.class.
getClassLoader().getResourceAsStream("mybatis-configuration.xml");
//构建sqlSession的工厂
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
//根据 sqlSessionFactory 产生 session
session = sqlSessionFactory.openSession();
}
@Test
public void testgetAllStudents(){
String statement = "studentMapper.getStudents";
List<student> s = session.selectList(statement);
System.out.println(s);
}
@Test
public void testDeleteStudent(){
//字符串statement由 studentMapper.xml 文件中 两个部分构成
//<mapper namespace="studentMapper"> 的 namespace 的值
//<select id="deleteStudents" > id 值
testgetAllStudents();
String statement = "studentMapper.deleteStudents";
session.delete(statement,201402003);
session.commit();
testgetAllStudents();
session.close();
}
}
对应的注解开发就是新写一个接口类,.xml里的namespace值与接口类名对应;
接口方法名与sql语句的id值对应;就没什么大问题了