MyBatis03(测试连接数据库crud)

目录结构:

MyBatis03(测试连接数据库crud)


配置文件同MyBatis02一样,只是mappers文件下的接口多了几个方法:

StudentMapper:

public interface StudentMapper {
public int add(Student student);

public int update(Student student);

public int delete(Integer id);

public Student findById(Integer id);

public List<Student> find();

}



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="com.mappers.StudentMapper">

<resultMap type="Student" id="StudentResult">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="age" column="age"/>
</resultMap>

<insert id="add" parameterType="Student"  >
insert into t_student values(null,#{name},#{age})
</insert>

<update id="update" parameterType="Student">
update t_student set name=#{name},age=#{age} where id=#{id}
</update>

<delete id="delete" parameterType="Integer">
delete from t_student where id=#{id}
</delete>

<select id="findById" parameterType="Integer" resultType="Student">
select * from t_student where id=#{id}
</select>

<select id="find" resultMap="StudentResult">
select * from t_student
</select>

</mapper> 



最后创建测试类:StudentTest

import java.util.List;


import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;


import com.mappers.StudentMapper;
import com.model.Student;
import com.util.SqlSessionFactoryUtil;


public class StudentTest {
private static Logger logger=Logger.getLogger(StudentTest.class);
private SqlSession sqlSession=null;
private StudentMapper studentMapper=null;

/**
* 测试方法前调用
* @throws Exception
*/
@Before
public void setUp() throws Exception {
sqlSession=SqlSessionFactoryUtil.openSession();
studentMapper=sqlSession.getMapper(StudentMapper.class);
}


/**
* 测试方法后调用
* @throws Exception
*/
@After
public void tearDown() throws Exception {
sqlSession.close();
}


@Test
public void testAdd() {
logger.info("添加学生");
Student student=new Student("王五",12);
studentMapper.add(student);
sqlSession.commit();
}

@Test
public void testUpdate(){
logger.info("修改学生");
Student student=new Student(1,"王五2",13);
studentMapper.update(student);
sqlSession.commit();
}

@Test
public void testDelete(){
logger.info("删除学生");
studentMapper.delete(6);
sqlSession.commit();
}

@Test
public void testFindById(){
logger.info("通过ID查找学生");
Student student=studentMapper.findById(3);
System.out.println(student);
}


@Test
public void testFind(){
logger.info("查找所有学生");
List<Student> studentList=studentMapper.find();
for(Student s:studentList){
System.out.println(s);
}
}
}


自此mybatis的crud简单操作已实现。