Mybatis配置文件

1. crtl键查看

在这里插入图片描述

2. mybatis-3-config.dtd文件


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

3. 以上标签挑几个常用的详细说明


  • 强调一点,顺序也要依次写
    在这里插入图片描述

3.1 properties标签


在这里插入图片描述
代码如下

<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--    数据源的配置信息会单独放在jdbc.properties文件中,这里加载到mybatis配置文件来,使用的时候用EL表达式${}-->
    <properties resource="jdbc.properties"></properties>
</configuration>

3.2 setting标签【重点】


3.2.1 缓存
  1. 无缓存:用户在访问相同数据时,需要发器多次对数据库的直接访问,导致产生大量IO、读写硬盘的操作,效率低下
  2. 有缓存:sql语句查询的表格数据,我们放入缓存,再次查找相同数据时,直接拿来用,减少IO、硬盘读写次数,提高效率
3.2.2 setting标签

在这里插入图片描述
代码如下

<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<!--数据源的配置信息会单独放在jdbc.properties文件中,这里加载到mybatis配置文件来,使用的时候用EL表达式${}-->
    <properties resource="jdbc.properties"></properties>
    <!--缓存-->
    <settings>
        <setting name="cacheEnabled" value="true"/>
    </settings>
</configuration>

二级缓存是默认开启的,但是要把查询数据放到
缓存,还要在mapper.xml文件加cache标签

<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.qf.dao.PassengerDao">
<!--    二级缓存是默认开启的,但是要把查询数据放到
缓存,还要加cache标签-->
    <cache/>
    <resultMap id="first" type="Passenger">
        <id column="id" property="id"></id>
        <result column="name" property="name"></result>
        <result column="sex" property="sex"></result>
        <result column="birthday" property="birthday"></result>
<!--        描述id nationality expire 和passport的映射规则-->
        <association property="passport" javaType="Passport">
            <id column="id" property="id"></id>
            <result column="nationality" property="nationality"></result>
            <result column="expire" property="expire"></result>
        </association>
    </resultMap>

    <select id="queryPassengerByid" resultMap="first">
        select e.id,e.name,e.sex,e.birthday,p.id,p.nationality,p.expire
        from t_passengers e join t_passports p
        on e.id = p.passenger_id
        where e.id = #{id}
    </select>
</mapper>

3.2 typeAliases标签


  • 一次性给某个包下的所有类设置别名

在这里插入图片描述
代码如下

<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--数据源的配置信息会单独放在jdbc.properties文件中,这里加载到mybatis配置文件来,使用的时候用EL表达式${}-->
    <properties resource="jdbc.properties"></properties>
<!--缓存-->
    <settings>
        <setting name="cacheEnabled" value="true"/>
    </settings>
<!--一次性给某个包下的所有类设置别名-->
    <typeAliases>
        <package name="com.qf.entity"/>
    </typeAliases>
</configuration>

3.3 plugins 标签


  • 以用来配置mybatis的插件,比如在开发中经常需要对查询结果进行分页,就需要用 PageHelper 分页插件
  • 依赖如下
<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.10</version>
</dependency>

  • 配置如下
<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--数据源的配置信息会单独放在jdbc.properties文件中,这里加载到mybatis配置文件来,使用的时候用EL表达式${}-->
    <properties resource="jdbc.properties"></properties>
<!--缓存-->
    <settings>
        <setting name="cacheEnabled" value="true"/>
    </settings>
<!--一次性给某个包下的所有类设置别名-->
    <typeAliases>
        <package name="com.qf.entity"/>
    </typeAliases>
<!--以用来配置mybatis的插件,比如在开发中经常需要对查询结果进行分页,就需要用到pageHelper分页插件-->
    <!-- PageHelper 分页插件 -->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
            <property name="helperDialect" value="mysql"/>
        </plugin>
    </plugins>
<!--    核心配置信息-->
    <environments default="xmq_config">
<!--        数据库相关配置-->
        <environment id="xmq_config">
<!--            事务控制类型 connection对象-->
            <transactionManager type="JDBC"></transactionManager>
<!--            数据库连接参数 连接池-->
            <dataSource type="org.apache.ibatis.datasource.pooled.PooledDataSourceFactory">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
<!--    Mapper文件注册-->
    <mappers>
        <mapper resource="com/qf/dao/UserDaoMapper.xml"/>
        <mapper resource="com/qf/dao/PassengerDaoMapper.xml"/>
    </mappers>
</configuration>
  • 使用分页查询
  • PageHelper.startPage(pageNum,pageSize)
  • PageHelper 对其之后的第一个查询进行分页功能的追加
  • 所以我们只要在使用mapper.queryUsers();这种方法的前面写上代码就可以了。
    在这里插入图片描述
 public static void test() {
        //1. inputStream
        InputStream inputStream = null;
        try {
        //2. 加载配置文件
            inputStream = Resources.getResourceAsStream("mybatis-config.xml");
        } catch (IOException e) { e.printStackTrace(); }
        //3.创建SqlSessionFactory
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //4.通过SqlSessionFactory 创建 sqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //5.通过sqlSession,获得Dao实现类对象
        UserDao mapper = sqlSession.getMapper(UserDao.class);
//        PageHelper 对其之后的第一个查询进行分页功能的追加
        PageHelper.startPage(1,3);
        User user = mapper.queryUserById(1);
        System.out.println(user);
    }

3.4 environments标签、mappers标签

我们已经使用过了就不再讲了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MyBatis配置文件MyBatis框架中的一个重要配置文件,用于配置MyBatis的核心组件和参数。一般情况下,MyBatis配置文件的名称为mybatis-config.xml。 MyBatis配置文件中包含以下几个重要的配置项: 1. properties:定义全局属性,可以被XML配置文件中的所有元素引用。 2. settings:定义MyBatis全局配置项,包括缓存、日志、数据源等。 3. typeAliases:定义Java类型与别名的映射,可以简化XML配置文件中的类型引用。 4. typeHandlers:定义Java类型与JDBC类型的映射,可以增强MyBatis对不同类型的支持。 5. environments:定义MyBatis的环境配置,包括数据源和事务管理器等。 6. mappers:定义Mapper接口的映射器,包括Mapper XML文件和Mapper接口类。 下面是一个简单的MyBatis配置文件的示例: ```xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/example/mapper/UserMapper.xml"/> <mapper class="com.example.mapper.UserMapper"/> </mappers> </configuration> ``` 这个示例配置文件定义了一个开发环境(development),使用JDBC事务管理器和连接池数据源。同时,该配置文件还定义了一个Mapper映射器,包括Mapper XML文件和Mapper接口类。在具体的应用程序中,需要根据实际情况进行相应的配置。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

素心如月桠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值