版权声明:[ws - 兮的博客] - 空间专属,未经声明不得私自转载 https://blog.csdn.net/qq_41463655/article/details/82321230
----------------------- 增加 --------------------------------
<!--
selectKey -> sql:获得当前序列值
selectKey -> order :mysql(AFTER)
selectKey -> order :oracle(另一个)
-->
<insert id="insert" parameterType="com.rl.model.Person"> //传入参数
<selectKey keyProperty="personId" order="AFTER" resultType="java.lang.Integer">
select last_insert_id() // selectKey:主建id返回
</selectKey>
insert into person (person_id, naem, gender, addr, biethday)
values (#{personId },#{name },#{gender },#{addr },#{biethday })
</insert>
----------------------- 修改 --------------------------------
<update id="update" parameterType="com.rl.model.Person">
update person t set
t.person_id = #{personId},
t.name = #{name}
t.gender = #{gender}
t.addr = #{addr}
t.biethday = #{biethday}
</update>
----------------------- 删除 --------------------------------
<delete id="delete" parameterType="java.lang.Integer">
delete from person where person_id = #{id}
</delete>
----------------------- 数据层 ------------------------
@Test
public void insert(){
SqlSession session = sessionFactory.openSession();
/* 增加不设置Id
* 修改必须设置Id , 问题:没设置的数据会被置空(动态修改)
*/
Person p = new Person(); //自行 set 数据(增加,修改)
try {
//返回响应条数(默认) / 返回 Id(需配置-selectKey )
int count = session.insert("com.rl.mapper.PersonMapper.insert", p); //添加
int count = session.update("com.rl.mapper.PersonMapper.update", p); //修改
int count = session.delete("com.rl.mapper.PersonMapper.delete", 1); //删除
session.commit(); //提交事物
System.out.println(count);
} catch (Exception e) { e.printStackTrace();
session.rollback(); //异常回滚
}finally{
session.close(); //关闭session
}
}