XML文件配置:
- useGenerateKey:开启返回自增列
- KeyProperty:返回自增列,对象对应的属性,
- 自增列值获取:自增主键会映射到对象对应的属性中
<mapper namespace="com.parkingms.dao.ILoginDao">
<!--useGenerateKey设置返回自增列数据自增列,KeyProperty设置返回自增列的标志 -->
<insert id="insertLogin" parameterType="com.parkingms.bean.LoginBean" useGeneratedKeys="true" keyProperty="id">
INSERT INTO t_login (login_account,login_pwd,login_character) VALUES (#{account},#{pwd},#{character})
</insert>
</mapper>
dao层:
public interface ILoginDao {
public boolean insertLogin(LoginBean bean);
}
注解配置:
public interface ILoginDao {
@Insert(value = {
"INSERT INTO t_login (login_account,login_pwd,login_character) VALUES(#{account},#{pwd},#{character})" })
/* keyProperty:对应实体Bean中的属性,表中对应的列名 */
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "login_id")
public boolean insertLogin(LoginBean bean);
}
测试类:
public class LoginTest {
@Test
public void insertTest() throws IOException {
LoginBean bean = new LoginBean();
bean.setAccount("登陆名1");
bean.setCharacter(1);
bean.setPwd("登陆密码");
SqlSessionFactory fa = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("config/config.xml"),
"development");
SqlSession session = fa.openSession(true);
ILoginDao dao = session.getMapper(ILoginDao.class);
boolean s = dao.insertLogin(bean);
/*获取主键列*/
System.out.println(bean.getId());
}
}