SqlSession三种增删改查的方式

SqlSession三种查询的方式

        //查询方式一 使用于查询多条数据的时候,返回一个集合
        List<Flower> list = sqlSession.selectList("com.bzsxt.mapper.FlowerMapper.selectAll");
        //查询方式二 查询某一个,返回查询的对象
        Object selectOne = sqlSession.selectOne("com.bzsxt.mapper.FlowerMapper.selectOne");
        //查询方式三 第二个参数作为map的key传入,通过get方法快速查询到某一条数据
        Map<Object, Object> selectMap = sqlSession.selectMap("com.bzsxt.mapper.FlowerMapper.selectAll", "fname");
        Object value = selectMap.get("紫罗兰");

SqlSession三种参数传递的方式

        //当参数类型是基本数据类型时:
        Object selectOne = sqlSession.selectOne("com.bzsxt.mapper.FlowerMapper.selectOne", 10);
        //当参数类型是某一个类时,可以传递多个参数:
        Flower flower = new Flower();
        flower.setPrice(5);
        flower.setFname("夕颜");
        Object selectOne1 = sqlSession.selectOne("com.bzsxt.mapper.FlowerMapper.selectOne2", flower);
        System.out.println(selectOne1);
        //当参数类型为map时,key值作为查询的?,value代表查询的具体值
        Map<Object,Object> map = new HashMap<>();
        map.put("a",10);
        map.put("b","紫罗兰");
        Object selectOne3 = sqlSession.selectOne("com.bzsxt.mapper.FlowerMapper.selectOne3", map);
        System.out.println(selectOne3);
        sqlSession.close();

三种参数传递对应的xml文件

    <!--parameterType代表传入的参数类型-->
    <select id="selectOne" resultType="flower" parameterType="int">
        select * from flower where fid = #{param1}
    </select>
    <!--当参数类型是某一个类时,可以传递多个参数,#{fid}括号中填写的是数据库列名-->
    <select id="selectOne2" resultType="flower" parameterType="flower">
        select * from flower where price = #{price} and fname = #{fname}
    </select>
    <!--当参数类型为map集合时,#{}括号中填写的是key值,-->
    <select id="selectOne3" resultType="flower" parameterType="map">
        select * from flower where fid = #{a} and fname = #{b}
    </select>

增删改的操作

        //增加数据的操作insert
        Flower flower = new Flower();
        flower.setPrice(99);
        flower.setFname("西蓝花");
        flower.setVariety("美国");
        int insert = sqlSession.insert("com.bzsxt.mapper.FlowerMapper.insert",flower);
        //修改操作
        Flower flower = new Flower();
        flower.setPrice(3);
        flower.setFname("大白菜");
        flower.setFid(12);
        int update = sqlSession.update("com.bzsxt.mapper.FlowerMapper.update", flower);
        //删除操作delete
        int delete = sqlSession.delete("com.bzsxt.mapper.FlowerMapper.delete", 13);
        //需要提交事务,否则不会写到数据库

增删改对应的xml文件

    <!--添加操作,目前只能一条的添加-->
    <insert id="insert" parameterType="flower">
        insert into flower values(default,#{fname},#{variety},#{price})
    </insert>
    <!--修改操作,parameterType="flower"是可以省略的,会根据写的格式自动设置参数返回值类型-->
    <insert id="update" >
        update flower set fname = #{fname},price = #{price} where fid = #{fid}
    </insert>
    <!--删除操作-->
    <delete id="delete">
        delete from flower where fid = #{param1}
    </delete>

[1]mybatis中parameterType 这个属性可以省略的 但是 resultType 是不可以省略的

[2]#{} 相当于占位符 ${} 相当于拼接

提交的两种方式

[1]session.commit();

[2]SqlSession session = factory.openSession(true);

————————————————

版权声明:本文为CSDN博主「千风千云」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/u014193754/article/details/118404075

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值