方法一:selectKey
<!--主键id自动增长--》
<insertid="insertone"parameterType="com.model.User">
<selectKey keyProperty="id" resultType="int" order="AFTER"><!--Order:相对于insert语句来说它的执行顺序-->
selectLAST_INSERT_ID()<!--得到刚insert进去记录的主键值,只适用于自增主键:主要作用就是获取自动增长的主键值-->
</selectKey>
Insert into user(name,age) values(#{name},#{age})
</insert>
方法二:useGeneratedKeys=“true”
<insert id="inserttwo" parameterType="com.model.User" keyProperty="id" useGeneratedKeys="true"> <!--主要作用就是获取自动增长的主键值-->
Insert into user(name,age) values(#{name},#{age})
</insert>
test:
public class Test {
@org.junit.Test
public void test(){
InputStream sq=null;
try {
sq=Resources.getResourceAsStream("SqlMapper.xml");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SqlSessionFactory sf=new SqlSessionFactoryBuilder().build(sq);
SqlSession session=sf.openSession();
//插入数据
User user=new User();
user.setName("coco");
user.setAge(100);
session.insert("test.insertplustwo",user);
System.out.println(user.getId());
}
}