mybatis配置文件里怎么格式化sql

mybatis配置文件里怎么格式化sql,第1张

一个配置完整的 settings 元素的示例如下:

<settings>

<setting name="cacheEnabled" value="true"/>

<setting name="lazyLoadingEnabled" value="true"/>

<setting name="multipleResultSetsEnabled" value="true"/>

<setting name="useColumnLabel" value="true"/>

<setting name="useGeneratedKeys" value="false"/>

<setting name="autoMappingBehavior" value="PARTIAL"/>

<setting name="defaultExecutorType" value="SIMPLE"/>

<setting name="defaultStatementTimeout" value="25"/>

<setting name="safeRowBoundsEnabled" value="false"/>

<setting name="mapUnderscoreToCamelCase" value="false"/>

<setting name="localCacheScope" value="SESSION"/>

<setting name="jdbcTypeForNull" value="OTHER"/>

<setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>

</settings>

配置环境(environments)

MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中,现实情况下有多种理由需要这么做。例如,开发、测试和生产环境需要有不同的配置;或者共享相同 Schema 的多个生产数据库,想使用相同的 SQL 映射。许多类似的用例。

不过要记住:尽管可以配置多个环境,每个 SqlSessionFactory 实例只能选择其一。

所以,如果你想连接两个数据库,就需要创建两个 SqlSessionFactory 实例,每个数据库对应一个。而如果是三个数据库,就需要三个实例,依此类推,记起来很简单:

每个数据库对应一个 SqlSessionFactory 实例

为了指定创建哪种环境,只要将它作为可选的参数传递给 SqlSessionFactoryBuilder 即可。可以接受环境配置的两个方法签名是:

SqlSessionFactory factory = sqlSessionFactoryBuilderbuild(reader, environment);

SqlSessionFactory factory = sqlSessionFactoryBuilderbuild(reader, environment,properties);

如果忽略了环境参数,那么默认环境将会被加载,如下所示:

SqlSessionFactory factory = sqlSessionFactoryBuilderbuild(reader);

SqlSessionFactory factory = sqlSessionFactoryBuilderbuild(reader,properties);

Environments配置示例

<environments default="development">

<environment id="development">

<transactionManager type="JDBC">

<property name="" value=""/>

</transactionManager>

<dataSource type="POOLED">

<property name="driver" value="${driver}"/>

<property name="url" value="${url}"/>

<property name="username" value="${username}"/>

<property name="password" value="${password}"/>

</dataSource>

</environment>

</environments>

<environments default="development">

<environment id="development">

<transactionManager type="JDBC" />

<dataSource type="POOLED">

<property name="driver" value="commysqljdbcDriver" />

<property name="url" value="jdbc:mysql://localhost:3306/wifiuseUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull" />

<property name="username" value="root" />

<property name="password" value="123456" />

</dataSource>

</environment>

</environments>

注意这里的关键点:

默认的环境 ID(比如:default=”development”)。

每个 environment 元素定义的环境 ID(比如:id=”development”)。

事务管理器的配置(比如:type=”JDBC”)。

数据源的配置(比如:type=”POOLED”)。

默认的环境和环境 ID 是自我解释的。你可以使用你喜欢的名称来命名,只要确定默认的要匹配其中之一。

映射器(mappers)

既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要定义 SQL 映射语句了。但是首先我们需要告诉 MyBatis 到哪里去找到这些语句。Java 在自动查找这方面没有提供一个很好的方法,所以最佳的方式是告诉 MyBatis 到哪里去找映射文件。你可以使用相对于类路径的资源引用,或完全限定资源定位符(包括 file:/// 的 URL),或类名和包名等。例如:

<!-- Using classpath relative resources -->

<mappers>

<mapper resource="org/mybatis/builder/AuthorMapperxml"/>

<mapper resource="org/mybatis/builder/BlogMapperxml"/>

<mapper resource="org/mybatis/builder/PostMapperxml"/>

</mappers>

<!-- Using url fully qualified paths -->

<mappers>

<mapper url="file:///var/mappers/AuthorMapperxml"/>

<mapper url="file:///var/mappers/BlogMapperxml"/>

<mapper url="file:///var/mappers/PostMapperxml"/>

</mappers>

<!-- Using mapper interface classes -->

<mappers>

<mapper class="orgmybatisbuilderAuthorMapper"/>

<mapper class="orgmybatisbuilderBlogMapper"/>

<mapper class="orgmybatisbuilderPostMapper"/>

</mappers>

<!-- Register all interfaces in a package as mappers -->

<mappers>

<package name="orgmybatisbuilder"/>

</mappers>

以上就是关于mybatis配置文件里怎么格式化sql全部的内容,包括:mybatis配置文件里怎么格式化sql、mybatis中resultmap用法问题、mybatis的sqlmappconfig.xml中的masql数据库怎么配置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9325708.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存