在需要获取的sql代码中添加useGeneratedKeys="true" keyProperty="需要回显的值"
不添加运行结果
添加运行结果
测试代码
public class StudentTest
{
StudentDao mapper = null;
Reader reader = null;
SqlSessionFactory sessionFactory =null;
// 在每一次单元测试之前执行 (得到操作数据库对象)
@Before
public void bef() throws IOException
{
// 1. 加载mybatis配置文件
String resource = "mybatis-config.xml";
reader = Resources.getResourceAsReader(resource);
// 2.获取sqlsessionfactory
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
}
// 在每一次测试方法执行之后 (关闭操作数据库需要释放的资源)
@After
public void aft()
{
if (reader != null)
{
try
{
reader.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
// 测试:添加学生
@Test
public void test3()
{
// 3.获取session
SqlSession sqlSession = sessionFactory.openSession();
// 4.得到dao的接口
mapper = sqlSession.getMapper(StudentDao.class);
// 设置需要添加的数据
Student student =new Student(null,"张大三",33,"男");
// 添加学生
mapper.addStudent(student);
System.out.println(student);
// 提交事务 ,要不然无法添加
sqlSession.commit();
// 查看回写id值
System.out.println("回显的id值 : "+student.getId());
}
}