城乡建设部网站,ps做的网站首页,cad培训班一般学费多少钱,简单的网站更新 关键词优化 关键词互联本专栏主要是记录学习完JavaSE后学习JavaWeb部分的一些知识点总结以及遇到的一些问题等#xff0c;如果刚开始学习Java的小伙伴可以点击下方连接查看专栏 本专栏地址#xff1a;#x1f525;JavaWeb Java入门篇#xff1a; #x1f525;Java基础学习篇 Java进阶学习篇如果刚开始学习Java的小伙伴可以点击下方连接查看专栏 本专栏地址JavaWeb Java入门篇 Java基础学习篇 Java进阶学习篇持续更新中Java进阶学习篇 本系列文章会将讲述有关于如何使用MyBatis完成增删查改的操作预计本系列文章会有以下这些文章在写完本系列的文章后会有一篇文章罗列这些文章以及其地址传送门小伙伴们直接点击查看即可
文章名称文章地址查询所有数据使用映射配置文件实现CRUD操作——查询所有数据查询详情使用映射配置文件实现CRUD操作——通过主键查询对应数据使用映射配置文件实现CRUD操作——多条件查询使用映射配置文件实现CRUD操作——动态SQL优化条件查询添加数据修改全部字段修改动态字段删除一条数据批量删除数据文章目录一、前言二、添加数据1.BrandMapper接口2.SQL语句3.测试类三、返回主键1.概述2.将id绑定到对象3.改写测试类4.完整代码四、结语一、前言
本文将讲述有关于添加数据以及添加完数据能够返回主键的功能这在实际的业务中会有如下的场景在订单页面会有一个订单项在订单项处会显示出自己选购的商品那么要显示自己选购的商品就必然要返回该数据的主键因此添加完数据能够返回主键的功能是需要重点掌握的
二、添加数据
1.BrandMapper接口
这里只需要构造一个含参数的add方法即可括号内返回的参数是Brand实体类和brand对象然后在爆红处直接使用快捷键AltEnter生成Statement
void add(Brand brand);2.SQL语句
添加数据可以用INSERT ··· INTO语句来写由于此时不确定我们要添加的数据是什么所以这里依然使用参数占位符来书写语句这里应该没有太多难点直接上代码
insert into tb_brand(brand_Name,company_name,ordered,description,status)
values (#{brandName},#{companyName},#{ordered},#{description},#{status})3.测试类
这里需要我们传递进去参数即我们要先设置好参数以后传递到Brand类中用Brand类new出来的对象调用set方法后面的代码与之前相同我们来执行查看一下结果 int status 1;String brandName 戴尔;String companyName 戴尔公司;String description 激发人类潜能 —— 这是技术的终极意义也是戴尔所做一切的源动力;int ordered 100;Brand brand new Brand();brand.setStatus(status);brand.setBrandName(brandName);brand.setCompanyName(companyName);brand.setDescription(description);brand.setOrdered(ordered);这里可以看出有成功添加数据但是在表格中没有这条添加的数据刷新完了也没有这是因为没有提交事务所以它无法提交到表格中自然也就不会更新数据了如下图所示Setting autocommit to false on JDBC Connection所以这里我们要在执行完方法后多加一个提交事务的语句
提交事务
sqlSession.commit();这时候再执行一下语句发现表格更新了出现了我们刚刚新增的数据如果不写这个提交事务的话也可以在openSession方法中传递参数true开启自动提交事务
三、返回主键
1.概述
如果需要将刚添加成功的数据添加到订单项的数据库中那么必然要设置所属订单的id那么就需要获取id也就是在添加完数据后要返回主键。其实在刚刚我们执行了SQL语句后id就已经存在了只不过没有绑定到对象中所以我们要绑定一下才行
2.将id绑定到对象
这里只需要设置两个参数就可以完成绑定并将添加完的数据的id返回出来useGeneratedKeystrue以及keyPropertyid !--添加数据--insert idadd useGeneratedKeystrue keyPropertyidinsert into tb_brand(brand_Name,company_name,ordered,description,status)values (#{brandName},#{companyName},#{ordered},#{description},#{status});/insert3.改写测试类
在执行方法时要获取id就要调用get方法并打印输出看结果
Integer id brand.getId();
System.out.println(id);执行结果 Brand{id6, brandName‘惠普’, companyName‘惠普公司’, ordered75, description‘作为一家科技公司我们的目标不仅仅是赚取丰厚的利润。还希望能够让世界变得更加美好’, status1} 6 4.完整代码
public class MyBatisTest_add {Testpublic void add() throws IOException {//接收参数int status 1;String brandName 惠普;String companyName 惠普公司;String description 作为一家科技公司我们的目标不仅仅是赚取丰厚的利润。还希望能够让世界变得更加美好;int ordered 75;Brand brand new Brand();brand.setStatus(status);brand.setBrandName(brandName);brand.setCompanyName(companyName);brand.setDescription(description);brand.setOrdered(ordered);//加载MyBatis的核心配置文件获取SqlSessionFactoryString resource mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);//SqlSession获取对象SqlSession sqlSession sqlSessionFactory.openSession();//获取BrandMapper接口代理对象BrandMapper brandMapper sqlSession.getMapper(BrandMapper.class);//执行方法brandMapper.add(brand);Integer id brand.getId();//提交事务sqlSession.commit();//打印结果System.out.println(brand);System.out.println(id);//释放资源sqlSession.close();}
}
四、结语
添加数据比较简单主要是能够将添加完的数据id主键返回到控制台是个重点接下来将讲述有关于修改字段的知识点