mybatis增删改查

一、加载基础配置文件(三种方式),并生成sessionFactory

1、

        //加载基本配置文件(法一)
      InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
      SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
  

2、常用第二种,此文章也是用第二种

        //加载基本配置文件(法二)
        Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

3、

    //第三种方式:注解,sql语句放在接口里面,抽象方法的上面。如果使用这种方式,需要将存储sql语句的Mapper.xml文件删除。注解和.xml只能存在一个
   // @Select("Select * from book")
    List<Book> selectAll();

二、获取接口实例   这是接口的方法

        SqlSession sqlSession = sqlSessionFactory.openSession();
        //获取接口实例
        BookMapper mapper = sqlSession.getMapper(BookMapper.class);

三、增加操作

1、单个传入参数  

如:传入某个对象,或者传入某个map 

BookMapper.xml

    <insert id="insertOne" parameterType="com.qq.model.Book"  keyProperty="id">
        insert into book(name,author,price) values (#{name},#{author},#{price})
    </insert>

BookMapper接口

int insertOne(Book book);

测试类

     Book book = new Book("天气预报", "小王", 10);
     int num = mapper.insertOne(book);
     System.out.println("添加结果是:"+num);

2、多个传入参数

  • 解决多参数和传入参数无法对应的问题

  • 1.仅sql语句赋值用#{arg}

    <insert id="insertOne2" >
        insert into book(name,author,price) values (#{arg0},#{arg1},#{arg2})
    </insert>
  • 2.仅接口抽象方法用@Param("name")  其中value = 可以省略  比较常用

    int insertOne2(@Param(value = "name")String name,
                   @Param(value = "author")String author,
                   @Param(value = "price")double price);
  • 3.传递map ,类似于传递一个对象整体


四、修改操作

BookMapper.xml  可以保持没有修改的值

    <update id="modify" parameterType="com.qq.model.Book">
        update book set name = #{name},
                        <if test="author != null and author != '' ">
                            author = #{author},
                        </if>
                        price = #{price} where id = #{id}
    </update>

五、查找操作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值