MyBaits保存更新删除

简介: MyBaits保存更新删除

添加客户

<!--保存用户-->
<insert id="saveCustomer" parameterType="com.qc.domain.Customer">
    INSERT INTO `customer`
    (cust_name,cust_profession,cust_phone,email) VALUES
    (#{cust_name},#{cust_profession},#{cust_phone},#{email})
</insert>

测试类调用,需要手动提交事务,sqlSession 调用的方法名,以及参数

/**
 * @author 30315
 * @title: MyTest
 * @projectName MyBatisPro-01
 * @description: TODO
 * @date 2020-03-0112:24
 */
public class MyTest {
    @Test
    public void test() throws IOException {
        // 1.SqlSessionFactoryBuilder 加载配置文件
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        // 2.读取配置文件
        InputStream resourceAsStream = Resources.getResourceAsStream("SqlMappingConfig.xml");
        // 3.获取Session工厂
        SqlSessionFactory sessionFactory = sqlSessionFactoryBuilder.build(resourceAsStream);
        // 4.获取回话   --- JDBC连接
        SqlSession sqlSession = sessionFactory.openSession();
        // 5.执行SQL
        Customer customer = new Customer();
        customer.setCust_name("疾风剑豪");
        customer.setCust_profession("刺客");
        customer.setCust_phone("13754784512");
        customer.setEmail("303158131@qq.com");
        sqlSession.insert("saveCustomer",customer);
        // 6.提交事务
        sqlSession.commit();
        // 7.释放资源
        sqlSession.close();
    }
}

返回添加过后自增的主键

<!--保存用户-->
<insert id="saveCustomer" parameterType="com.qc.domain.Customer">
    <selectKey keyColumn="cust_id" keyProperty="cust_id" order="AFTER" resultType="Long">
        SELECT LAST_INSERT_ID()
    </selectKey>
    INSERT INTO `customer`
    (cust_name,cust_profession,cust_phone,email) VALUES
    (#{cust_name},#{cust_profession},#{cust_phone},#{email})
</insert>

执行完插入语句后,打印添加之前对象的 ID,resultType 的类型要和 domain 的类型一致

System.out.println(customer.getCust_id());

更新客户

<!--更新客户-->
<update id="updateCustomerById" parameterType="com.qc.domain.Customer">
    UPDATE `customer` SET
    cust_name = #{cust_name} WHERE cust_id = #{cust_id}
</update>

删除客户

<delete id="deleteCustomerById" parameterType="Long">
    DELETE FROM `customer` WHERE
    cust_id = #{cust_id}
</delete>
相关文章
|
4月前
|
关系型数据库 MySQL 数据库
mysql,归零,无法自动排序,删除id,表单的数据没有从零开始出现怎样解决?删除数据仍然从删除的地方该怎样解决?表单的数据没有从2开始,而是从之前的删除的序号开始自增。
mysql,归零,无法自动排序,删除id,表单的数据没有从零开始出现怎样解决?删除数据仍然从删除的地方该怎样解决?表单的数据没有从2开始,而是从之前的删除的序号开始自增。
|
6月前
|
弹性计算 运维 Shell
显示最后更新的文件
【4月更文挑战第29天】
23 2
|
11月前
|
JavaScript
Vue + Element UI 实现复制当前行数据功能(复制到新增页面组件值不能更新等问题解决)
# 1、需求 使用Vue + Element UI 实现在列表的操作栏新增一个复制按钮,复制当前行的数据可以打开新增弹窗后亦可以跳转到新增页面,本文实现为跳转到新增页面。 # 2、实现 ## 1)列表页 index.vue ```html <el-table> <!-- 其他列 --> <el-table-column label="操作" width="150"> <template slot-scope="scope"> <el-button icon="el-icon-copy-document" title="复制" @click="toCopyNew(scope
116 0
|
存储 XML NoSQL
MongoTemplate 保存、更新和删除文档
MongoTemplate 保存、更新和删除文档
540 0
更新wincvs代码
更新wincvs代码
65 0
更新wincvs代码
|
关系型数据库 MySQL
MySQL基础-删除/更新行为
添加了外键之后,再删除父表数据时产生的约束行为,我们就称为删除/更新行为。具体的删除/更新行为有以下几种:
210 0
|
缓存 索引
ES的删除和更新,旧数据到低是如何处理的?
根据ES的读写入原理,大家都知道ES写入时每秒从内存缓冲区(memory buffer)生成小的segment,将其递交给系统缓存(OS filesystem cache)中,后台会定期的对这些小的segment 合并成一个大的segment段
376 0
ES的删除和更新,旧数据到低是如何处理的?
|
OLTP 数据库
数据的删除与修改
数据的删除与修改
191 0
|
前端开发
Ember Data 之记录操作:创建、更新和删除
前面在《Ember.js 项目开发之 Ember Data》介绍了Ember Data 和 《Ember Data 之模型定义》、《Ember Data 之记录查询》,本文将继续介绍记录操作:创建、更新和删除。
142 0