Mybatis——配置

目录

核心配置文件:mybatis-config.xml

环境配置(environmeents)

属性(properties)

设置(settings)

类型别名(typeAliases)

映射器(mappers)

结果集映射(resultMap)


核心配置文件:mybatis-config.xml

环境配置(environmeents)

  • MyBatis 可以配置成适应多种环境。尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。每个数据库对应一个 SqlSessionFactory 实例。
  • 事务管理器(transactionManager):在 MyBatis 中有两种类型的事务管理器(也就是 type="[JDBC|MANAGED]")
  • 数据源(dataSource):类似于数据库连接池。有三种内建的数据源类型(也就是 type="[UNPOOLED|POOLED|JNDI]")
    <!--default="test":选择的环境-->
    <environments default="test">
        <!--第一套环境-->
        <environment id="development">
            <!--transactionManager事务管理器:JDBC-->
            <transactionManager type="JDBC"/>
            <!--dataSource数据源-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>

        <!--第二套环境-->
        <environment id="test">
            <transactionManager type=""></transactionManager>
            <dataSource type=""></dataSource>
        </environment>
    </environments>

属性(properties)

这些属性可以在外部进行配置,并可以进行动态替换。优先使用外部文件配置。

<properties resource="org/mybatis/example/config.properties">
  <property name="username" value="dev_user"/>
  <property name="password" value="F2Fa3!33TYyg"/>
</properties>
<properties resource="db.properties"/>
<dataSource type="POOLED">
  <property name="driver" value="${driver}"/>
  <property name="url" value="${url}"/>
  <property name="username" value="${username}"/>
  <property name="password" value="${password}"/>
</dataSource>

设置(settings)

<!--标准日志工厂实现,需要导入log4j2包-->
<setting name="logImpl" value="STDOUT_LOGGING"/>
<!--是否开启驼峰命名自动映射-->
<setting name="mapUnderscoreToCamelCase" value="true"/>

类型别名(typeAliases)

类型别名可为 Java 类型设置一个缩写名字。

它仅用于 XML 配置,意在降低冗余的全限定类名书写。

给一个类取固定别名

<typeAliases>
  <typeAlias alias="Author" type="domain.blog.Author"/>
  <typeAlias alias="Blog" type="domain.blog.Blog"/>
  <typeAlias alias="Comment" type="domain.blog.Comment"/>
  <typeAlias alias="Post" type="domain.blog.Post"/>
  <typeAlias alias="Section" type="domain.blog.Section"/>
  <typeAlias alias="Tag" type="domain.blog.Tag"/>
</typeAliases>

扫描包

<typeAliases>
  <package name="domain.blog"/>
</typeAliases>
@Alias("author")
public class Author {
    ...
}

包扫描后,每一个在包 domain.blog 中的 Java Bean:

  • 在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。 比如 domain.blog.Author 的别名为 author。
  • 若有注解,则别名为其注解值。

映射器(mappers)

        我们现在就要来定义 SQL 映射语句了。 但首先,我们需要告诉 MyBatis 到哪里去找到这些语句。 在自动查找资源方面,Java 并没有提供一个很好的解决方案,所以最好的办法是直接告诉 MyBatis 到哪里去找映射文件。这就是映射器的作用。

 使用相对于类路径的资源引用

<!-- 使用相对于类路径的资源引用 -->
<mappers>
  <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
  <mapper resource="org/mybatis/builder/BlogMapper.xml"/>
  <mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>

使用映射器接口实现类的完全限定类名 

<!-- 使用映射器接口实现类的完全限定类名 -->
<mappers>
  <mapper class="org.mybatis.builder.AuthorMapper"/>
  <mapper class="org.mybatis.builder.BlogMapper"/>
  <mapper class="org.mybatis.builder.PostMapper"/>
</mappers>

将包内的映射器接口全部注册为映射器 

<!-- 将包内的映射器接口全部注册为映射器 -->
<mappers>
  <package name="org.mybatis.builder"/>
</mappers>

注意:使用后两种需要将接口和对应的配置文件放置在同一个包下

 结果集映射(resultMap)

    <!--结果集映射,数据库中字段映射到实体类属性-->
    <resultMap id="UserMap" type="User">
        <!--column:数据库中的字段,property:实体类中的属性-->
        <result column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="pwd" property="password"/>
    </resultMap>

    <select id="getUserById" parameterType="int" resultMap="UserMap">
        select * from mybatis.user where id = #{id}
    </select>

    <!--resultType-->
    <select id="getUserById" parameterType="int" resultType="com.lys.pojo.User">
        select * from mybatis.user where id=#{id}
    </select>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBoot整合Mybatis配置流程可以分为以下步骤: 1. 首先,需要在项目的pom.xml文件中添加相关的依赖,包括mybatis-spring-boot-starter和spring-boot-starter-jdbc等。这些依赖可以通过Maven或Gradle进行管理。 2. 接着,需要在应用程序的配置文件(一般是application.yml或application.properties)中进行相关配置。包括数据库连接信息、Mybatis配置信息等。 3. 然后,创建实体类(entity)来映射数据库表。这些实体类通常使用注解来指定表名、字段名等信息。 4. 接着,创建数据访问对象(dao)接口,定义数据库操作的方法,使用Mybatis的注解或XML文件进行SQL语句的映射。 5. 接下来,创建服务层(service)和控制层(controller)来完成业务逻辑的处理和接口的调用。 6. 最后,在resources目录下创建mapper文件夹,编写对应的mapper接口和XML文件。XML文件中定义了具体的SQL语句,并与dao接口进行映射。 需要注意的是,以上步骤是整合Mybatis的一般配置流程,具体的实现方式可能会根据项目的需求和个人的习惯有所不同。可以参考和中提供的引用内容了解更多关于SpringBoot整合Mybatis配置流程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [springboot整合mybatis详细步骤](https://blog.csdn.net/kobe_IT/article/details/123548793)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [springBoot——SpringBoot 整合 Mybatis 流程](https://blog.csdn.net/DreamPossible20/article/details/128751096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值