mybatis的增删查改

事务管理:

事务管理是企业级应用程序开发中必不可少的技术,用来确保一组操作的时候  数据的完整性和一致性

一个完整的事物需要满足以下的特性
 原子性(atomicity):事务的原子性确保动作要么全部完成,要么完全不起作用
 一致性(consistency):一旦所有事务动作完成,事务就被提交。也就是说要么都成功,要么都不成功
 隔离性(isolation):多个事物同时处理一个数据的时候,每个事物都应该与其他事务隔离开来,防止数据损坏
 持久性(durability):一旦事务完成,无论发生什么系统错误,它的结果都不应该受到影响。应该被持久化到数据库中

这就是事务的四个关键属性(ACID)


mybatis的增删查改:

①  一个java类接口 对应一个xml映射文件;相当于此xml映射文件是该接口的实现所书写的sql代码;

②    xml文件的声明;  并且声明为mapper映射文件

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

③   对应接口类 去掉.java后缀<mapper namespace="com.lovo.my.dao.IUserMapper">

书写映射的sql 

<!-- 编写一个新增方法    parameterType参数类型-->
<insert id="saveUserBean" parameterType="UserBean" useGeneratedKeys="true" keyProperty="u.id">
insert into t_user (user_name,password,sex,salary) values (#{u.userName},#{u.password},#{u.sex},#{u.salary})
</insert>

<insert id="batchAddUserBean" parameterType="java.util.List">
insert into t_user (user_name,password,sex,salary) values
<foreach collection="list" item="user" separator=",">
(#{user.userName},#{user.password},#{user.sex},#{user.salary})

</foreach>
</insert>

<!-- 编写一个修改方法 在方法中除了id是必填外 其他属性皆为可选 -->
<update id="updateUserBean">
update t_user set user_name = #{u.userName},password = #{u.password},sex = #{u.sex},salary = #{u.salary} where id = #{id}
</update>
<delete id="deleteUserBean">
delete from t_user where id = #{id}
</delete>
<delete id="batchDeleteUserBean">
delete from t_user where id in 
<foreach collection="list" item="id" separator="," open="(" close=")">
#{id}
</foreach>

</delete>



<!--适合在字段名和属性名可能不相符就写resultMap 
-适合在字段名和属性名可能相符就写resultType-->
<select id="getUserBeanByNameAndPassword" resultMap="userMap">
select * from t_user where user_name = #{userName} and password = #{password}
</select>
<select id="findAll" resultMap="userMap">
select * from t_user
</select>
<select id="selectCountUserBeanCondition" resultType="int">
select count(*) from t_user where 1 = 1 
<include refid="item"></include>
</select>
<select id="selectUserBeanCondition" resultMap="userMap">
select count(*) from t_user where 1 = 1 
<include refid="item"></include>
limit ${index}.${rows}
</select>

<sql id="item">
<if test="userName != null and userName!=''">
and user_name like '%"${userName}"%'
</if>
<if test="sex != null and sex!=''">
and sex = #{sex}
</if>
</sql>

</mapper>


测试文件写在src路径外;方便后期合成时删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值