users表id是自增列,插入数据后获取最新id。
insert users(username,sex,birthday,address) values('赵云','1','2000-10-01','常山'); select last_inset_id();
而UserMapp.xml设置
<insert id="addUser" parameterType="com.company.pojo.Users"> <!-- selectKey 标签用来获取最新id order="AFTER" 表示在增加语句执行之后执行标签体中要执行的sql语句 keyProperty="id" 要将查出来的数据放置对象的哪个属性中 resultType="int" 查询出来数据的类型 --> <selectKey keyProperty="id" order="AFTER" resultType="int"> select last_insert_id() </selectKey> insert into users(username,sex,birthday,address) values(#{username},#{sex},#{birthday},#{address}) </insert>
测试
@Test public void saveUser() throws Exception{ SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream); inputStream.close(); SqlSession sqlSession = sqlSessionFactory.openSession(); Users user=new Users(); user.setUsername("刘备"); user.setSex('1'); SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd"); user.setBirthday(simpleDateFormat.parse("2019-10-28")); user.setAddress("四川"); int count = sqlSession.insert("com.company.mapper.UserMapper.addUser",user); System.out.println("影响行数:"+count); System.out.println(user); sqlSession.commit(); sqlSession.close(); }
这样就可以查找新增id值赋值到user对象的id属性。
posted on
浙公网安备 33010602011771号