史上最全的mybatis笔记

mybatis

文档网址 https://mybatis.org/mybatis-3/zh/index.html

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210716230451652.png#pic_center
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210716230451587.png#pic_center
在这里插入图片描述
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210716230615869.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdfemhvbmdfcm9uZw==,size_16,color_FFFFFF,t_70#pic_center

多对1建议用这种

在这里插入图片描述

1对多建议用这种

在这里插入图片描述

动态sql

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

缓存

在这里插入图片描述
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210716231126706.png#pic_center

public class Test {
    @org.junit.Test
    public void test() throws IOException {
        //1.读取配置文件,导包是导org.apache.ibatis.io.Resources;的包
        InputStream inputStream = Resources.getResourceAsStream("mapper-config.xml");
        //2.new 一个sqlsessionfactoryBuilder的一个工厂类,调用其build的一个工具类
        SqlSessionFactory build = new SqlSessionFactoryBuilder().build(inputStream);
        //3.通过build构建调用opensession()来获得一个sqlsession对象
        SqlSession sqlSession = build.openSession();//设置自动提交事务autocommit默认是false,如果为true则是自动提交事务
        //4.通过sqlsession对象调用getMapper 通过接口.class的方式来获取接口的实现类对象
        UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
        Users users=new Users();
        users.setUserid("23");
        users.setStatus("vip");
        users.setUsername("shuhoa");
        users.setPwd("666");
        mapper.saveUsers(users);
        //提交数据,要不然数据库不更新
        sqlSession.commit();
    }
### 接口类

```java
   //下订单2
    int save2(@Param("orders") List<Order> orders);

mybatis插入多条数据

<!--collection要写的就是刚刚OrderMapper@Param("orders")指定 的参数名orders
        item就是集合里面的对象order
        所以collection,item 相当于jsp中的items=""var=""
    -->
    <insert id="save2" parameterType="java.util.List">
        INSERT INTO `ORDER`
            (OID,TOTAL,BOOKID,DID)
        VALUES
        <foreach collection="orders" item="order" separator=",">
            (
            <if test="order.oid!=null">#{order.oid},</if>
            <if test="order.total!=0">#{order.total},</if>
            <if test="order.bookinfo.bookid!=null">#{order.bookinfo.bookid},</if>
            <if test="order.orderDetails.did!=null">#{order.orderDetails.did}</if>
            )
        </foreach>
    </insert>

mybatis的事务管理类型

  1. jdbc 使用简单的jdbc事务

  2. managed 事务交给其他容器处理

    数据源类型

    1. pooled 使用连接池
    2. nopoolde 不使用连接池
    3. jndi 获取外部链接

引用sql片段

<sql id="aa">

userid,

username,

pwd,

status

</sql>



引用:<include  refid ="aa">

spring中,引用外部的properties

```xml
<!--    载入外部的properties文件-->
    <context:property-placeholder location="classpath:jdbc.properties"/>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值