添加:
点击查看代码
-- 添加
-- Mybatis事务:
-- openSession():默认开启事务,进行增删改操作后需要使用 sqlSession.commit(); 手动提交事务
-- openSession(true):可以设置为自动提交事务(关闭事务)
--
-- 添加-主键返回
-- 在数据添加成功后,需要获取插入数据库数据的主键的值
-- >比如:添加订单和订单项
-- 1.添加订单
-- 2.添加订单项,订单项中需要设置所属订单的id
-- 返回添加值的主键:
-- <insert useGeneratedKeys="true"keyProperty="id">
--
-- @Test
-- public void testAdd() throws Exception {
-- //接受参数
-- int status =1;
-- String companyName ="波导手机";
-- String brandName ="波导";
-- String description = "手机中的战斗机";
-- int ordered = 100;
--
-- //封装参数
-- Brand brand = new Brand();
-- brand.setStatus(status);
-- brand.setCompanyName(companyName);
-- brand.setBrandName(brandName);
-- brand.setDescription(description);
-- brand.setOrdered(ordered);
--
-- //1.获取SqlSessionFactory
-- //1.加载mybatis的核心配置文件,获取SqlSessionFactory
-- String resource = "mybatis-config.xml";
-- InputStream inputStream = Resources.getResourceAsStream(resource);
-- SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
--
-- //2.获取SqlSession对象
-- //SqlSession sqlSession = sqlSessionFactory.openSession();
-- //获取SqlSession对象时设置自动提交
-- SqlSession sqlSession = sqlSessionFactory.openSession(true);
--
-- //3.获取Mapper接口的代理对象
-- BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
-- //4.执行方法
-- brandMapper.add(brand);
-- //提交事务
-- sqlSession.commit();
--
-- //5.释放资源
-- sqlSession.close();
--
-- }
-- <!-- <insert id="add">-->
-- <!-- insert into tb_brand (brand_name, company_name, ordered, description, status)-->
-- <!-- values (#{brandName},#{companyName},#{ordered},#{description},#{status})-->
-- <!-- </insert>-->
-- <insert id="add" useGeneratedKeys="true" keyProperty="id">
-- insert into tb_brand (brand_name, company_name, ordered, description, status)
-- values (#{brandName}, #{companyName}, #{ordered}, #{description}, #{status})
-- </insert>
--
-- @Test
-- public void testAdd2() throws Exception {
-- //接受参数
-- int status =1;
-- String companyName ="波导手机";
-- String brandName ="波导";
-- String description = "手机中的战斗机";
-- int ordered = 100;
--
-- //封装参数
-- Brand brand = new Brand();
-- brand.setStatus(status);
-- brand.setCompanyName(companyName);
-- brand.setBrandName(brandName);
-- brand.setDescription(description);
-- brand.setOrdered(ordered);
--
-- //1.获取SqlSessionFactory
-- //1.加载mybatis的核心配置文件,获取SqlSessionFactory
-- String resource = "mybatis-config.xml";
-- InputStream inputStream = Resources.getResourceAsStream(resource);
-- SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
--
-- //2.获取SqlSession对象
-- SqlSession sqlSession = sqlSessionFactory.openSession();
-- //获取SqlSession对象时设置自动提交
-- //SqlSession sqlSession = sqlSessionFactory.openSession(true);
--
-- //3.获取Mapper接口的代理对象
-- BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
-- //4.执行方法
-- brandMapper.add(brand);
-- //提交事务
-- sqlSession.commit();
-- Integer id = brand.getId();
-- System.out.println(id);
--
-- //5.释放资源
-- sqlSession.close();
--
-- }
-- 需要注意的是添加中的自动提交与手动提交设置 sqlSession.commit(ture)设置
--
修改:
点击查看代码
-- 修改
--
-- @Test
-- public void testUpdate1() throws Exception {
-- //接受参数
-- int status =1;
-- String companyName ="波导手机";
-- String brandName ="波导";
-- String description = "波导手机,手机中的战斗机";
-- int ordered = 100;
-- int id = 5;
--
-- //封装参数
-- Brand brand = new Brand();
-- brand.setStatus(status);
-- brand.setCompanyName(companyName);
-- brand.setBrandName(brandName);
-- brand.setDescription(description);
-- brand.setOrdered(ordered);
-- brand.setId(id);
--
-- //1.获取SqlSessionFactory
-- //1.加载mybatis的核心配置文件,获取SqlSessionFactory
-- String resource = "mybatis-config.xml";
-- InputStream inputStream = Resources.getResourceAsStream(resource);
-- SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
--
-- //2.获取SqlSession对象
-- SqlSession sqlSession = sqlSessionFactory.openSession();
-- //获取SqlSession对象时设置自动提交
-- //SqlSession sqlSession = sqlSessionFactory.openSession(true);
--
-- //3.获取Mapper接口的代理对象
-- BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
-- //4.执行方法
-- int count = brandMapper.update1(brand);
-- System.out.println(count);
--
-- //提交事务
-- sqlSession.commit();
--
-- //5.释放资源
-- sqlSession.close();
--
-- }
-- <update id="update1">
-- update tb_brand
-- set brand_name = #{brandName},
-- company_name =#{companyName},
-- ordered = #{ordered},
-- description = #{description},
-- status = #{status}
-- where id = #{id};
-- </update>
--
-- 动态修改
--
-- @Test
-- public void testUpdate2() throws Exception {
-- //接受参数
-- int status =0;
-- // String companyName ="波导手机";
-- // String brandName ="波导";
-- // String description = "波导手机,手机中的战斗机";
-- // int ordered = 100;
-- int id = 6;
--
-- //封装参数
-- Brand brand = new Brand();
-- brand.setStatus(status);
-- // brand.setCompanyName(companyName);
-- // brand.setBrandName(brandName);
-- // brand.setDescription(description);
-- // brand.setOrdered(ordered);
-- brand.setId(id);
--
-- //1.获取SqlSessionFactory
-- //1.加载mybatis的核心配置文件,获取SqlSessionFactory
-- String resource = "mybatis-config.xml";
-- InputStream inputStream = Resources.getResourceAsStream(resource);
-- SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
--
-- //2.获取SqlSession对象
-- SqlSession sqlSession = sqlSessionFactory.openSession();
-- //获取SqlSession对象时设置自动提交
-- //SqlSession sqlSession = sqlSessionFactory.openSession(true);
--
-- //3.获取Mapper接口的代理对象
-- BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
-- //4.执行方法
-- int count = brandMapper.update2(brand);
-- System.out.println(count);
--
-- //提交事务
-- sqlSession.commit();
--
-- //5.释放资源
-- sqlSession.close();
--
-- }
-- <update id="update2">
-- update tb_brand
-- <set>
-- <if test="brandName!=null and brandName !=''">
-- brand_name = #{brandName},
-- </if>
-- <if test="companyName!=null and companyName !=''">
-- company_name =#{companyName},
-- </if>
-- <if test="ordered!=null">
-- ordered = #{ordered},
-- </if>
-- <if test="description!=null and description !=''">
-- description = #{description},
-- </if>
-- <if test="status != null">
-- status = #{status}
-- </if>
-- </set>
-- where id = #{id};
-- </update>
--
删除
点击查看代码
-- 删除 单个
-- @Test
-- public void testDeleteById() throws Exception {
-- //接受参数
-- int id = 6;
--
-- //封装参数
-- Brand brand = new Brand();
-- brand.setId(id);
--
-- //1.获取SqlSessionFactory
-- //1.加载mybatis的核心配置文件,获取SqlSessionFactory
-- String resource = "mybatis-config.xml";
-- InputStream inputStream = Resources.getResourceAsStream(resource);
-- SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
--
-- //2.获取SqlSession对象
-- SqlSession sqlSession = sqlSessionFactory.openSession();
-- //获取SqlSession对象时设置自动提交
-- //SqlSession sqlSession = sqlSessionFactory.openSession(true);
--
-- //3.获取Mapper接口的代理对象
-- BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
-- //4.执行方法
-- brandMapper.deleteById(id);
--
-- //提交事务
-- sqlSession.commit();
--
-- //5.释放资源
-- sqlSession.close();
--
-- }
--
-- <delete id="deleteById">
-- delete from tb_brand where id = #{id};
-- </delete>
--
-- 删除多个 如果不加@Param注解 那么xml文件中就必须写array
-- void deleteByIds(@Param("ids") int[] ids);
--
-- @Test
-- public void testDeleteByIds() throws Exception {
-- //接受参数
-- int []ids = {5,7};
--
-- //1.获取SqlSessionFactory
-- //1.加载mybatis的核心配置文件,获取SqlSessionFactory
-- String resource = "mybatis-config.xml";
-- InputStream inputStream = Resources.getResourceAsStream(resource);
-- SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
--
-- //2.获取SqlSession对象
-- SqlSession sqlSession = sqlSessionFactory.openSession();
-- //获取SqlSession对象时设置自动提交
-- //SqlSession sqlSession = sqlSessionFactory.openSession(true);
--
-- //3.获取Mapper接口的代理对象
-- BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
-- //4.执行方法
-- brandMapper.deleteByIds(ids);
--
-- //提交事务
-- sqlSession.commit();
--
-- //5.释放资源
-- sqlSession.close();
--
-- }
-- <!--
-- mybatis会将数组参数封装为一个Map集合,
-- *默认;array = 数组
-- -->
--
-- <delete id="deleteByIds">
-- delete from tb_brand where id
-- <!-- in (-->
-- <!-- <foreach collection="ids" item="id" separator=",">#{id}-->
-- <!-- </foreach>-->
-- <!-- );-->
-- in
-- <foreach collection="ids" item="id" separator="," open="(" close=")">
-- #{id}
-- </foreach>
-- ;
-- </delete>
--