您的位置:首页技术文章
文章详情页

详解Mybatis中常用的约束文件

【字号: 日期:2023-10-22 17:13:26浏览:8作者:猪猪

SqlMapConfig.xml的约束,也就是Mybatis主配置文件的约束

<?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'>

持久层接口映射文件的约束

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

日志文件的配置log4j.properties

```bash# Set root category priority to INFO and its only appender to CONSOLE.# log4j.rootCategory=INFO, CONSOLE debug info warn error fatallog4j.rootCategory=debug, CONSOLE, LOGFILE # Set the enterprise logger category to FATAL and its only appender to CONSOLE.log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE # CONSOLE is set to be a ConsoleAppender using a PatternLayout.log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %mn # LOGFILE is set to be a File appender using a PatternLayout.log4j.appender.LOGFILE=org.apache.log4j.FileAppender #生成的日志文件的位置和命名log4j.appender.LOGFILE.File=d:axis.log log4j.appender.LOGFILE.Append=true log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %mn

PS:Mybatis xml约束文件的使用

一:准备.DTD约束文件

核心配置文件约束文件:mybatis-config.dtd

<?xml version='1.0' encoding='UTF-8' ?><!-- Copyright 2009-2012 The MyBatis Team Licensed under the Apache License, Version 2.0 (the 'License'); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.--><!ELEMENT configuration (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, plugins?, environments?, databaseIdProvider?, mappers?)><!ELEMENT databaseIdProvider (property*)><!ATTLIST databaseIdProvidertype CDATA #REQUIRED><!ELEMENT properties (property*)><!ATTLIST propertiesresource CDATA #IMPLIEDurl CDATA #IMPLIED><!ELEMENT property EMPTY><!ATTLIST propertyname CDATA #REQUIREDvalue CDATA #REQUIRED><!ELEMENT settings (setting+)><!ELEMENT setting EMPTY><!ATTLIST settingname CDATA #REQUIREDvalue CDATA #REQUIRED><!ELEMENT typeAliases (typeAlias*,package*)><!ELEMENT typeAlias EMPTY><!ATTLIST typeAliastype CDATA #REQUIREDalias CDATA #IMPLIED><!ELEMENT typeHandlers (typeHandler*,package*)><!ELEMENT typeHandler EMPTY><!ATTLIST typeHandlerjavaType CDATA #IMPLIEDjdbcType CDATA #IMPLIEDhandler CDATA #REQUIRED><!ELEMENT objectFactory (property*)><!ATTLIST objectFactorytype CDATA #REQUIRED><!ELEMENT objectWrapperFactory (property*)><!ATTLIST objectWrapperFactorytype CDATA #REQUIRED><!ELEMENT plugins (plugin+)><!ELEMENT plugin (property*)><!ATTLIST plugininterceptor CDATA #REQUIRED><!ELEMENT environments (environment+)><!ATTLIST environmentsdefault CDATA #REQUIRED><!ELEMENT environment (transactionManager,dataSource)><!ATTLIST environmentid CDATA #REQUIRED><!ELEMENT transactionManager (property*)><!ATTLIST transactionManagertype CDATA #REQUIRED><!ELEMENT dataSource (property*)><!ATTLIST dataSourcetype CDATA #REQUIRED><!ELEMENT mappers (mapper*,package*)><!ELEMENT mapper EMPTY><!ATTLIST mapperresource CDATA #IMPLIEDurl CDATA #IMPLIEDclass CDATA #IMPLIED><!ELEMENT package EMPTY><!ATTLIST packagename CDATA #REQUIRED>

sql映射文件约束文件:mybatis-mapper.dtd

<?xml version='1.0' encoding='UTF-8' ?><!-- Copyright 2009-2011 The MyBatis Team Licensed under the Apache License, Version 2.0 (the 'License'); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.--><!ELEMENT mapper (cache-ref | cache | resultMap* | parameterMap* | sql* | insert* | update* | delete* | select* )+><!ATTLIST mapperxmlns:fo CDATA #IMPLIEDnamespace CDATA #IMPLIED><!ELEMENT cache-ref EMPTY><!ATTLIST cache-refnamespace CDATA #REQUIRED><!ELEMENT cache (property*)><!ATTLIST cachetype CDATA #IMPLIEDeviction CDATA #IMPLIEDflushInterval CDATA #IMPLIEDsize CDATA #IMPLIEDreadOnly CDATA #IMPLIED><!ELEMENT parameterMap (parameter+)?><!ATTLIST parameterMapid CDATA #REQUIREDtype CDATA #REQUIRED><!ELEMENT parameter EMPTY><!ATTLIST parameterproperty CDATA #REQUIREDjavaType CDATA #IMPLIEDjdbcType CDATA #IMPLIEDmode (IN | OUT | INOUT) #IMPLIEDresultMap CDATA #IMPLIEDscale CDATA #IMPLIEDtypeHandler CDATA #IMPLIED><!ELEMENT resultMap (constructor?,id*,result*,association*,collection*, discriminator?)><!ATTLIST resultMapid CDATA #REQUIREDtype CDATA #REQUIREDextends CDATA #IMPLIEDautoMapping (true|false) #IMPLIED><!ELEMENT constructor (idArg*,arg*)><!ELEMENT id EMPTY><!ATTLIST idproperty CDATA #IMPLIEDjavaType CDATA #IMPLIEDcolumn CDATA #IMPLIEDjdbcType CDATA #IMPLIEDtypeHandler CDATA #IMPLIED><!ELEMENT result EMPTY><!ATTLIST resultproperty CDATA #IMPLIEDjavaType CDATA #IMPLIEDcolumn CDATA #IMPLIEDjdbcType CDATA #IMPLIEDtypeHandler CDATA #IMPLIED><!ELEMENT idArg EMPTY><!ATTLIST idArgjavaType CDATA #IMPLIEDcolumn CDATA #IMPLIEDjdbcType CDATA #IMPLIEDtypeHandler CDATA #IMPLIEDselect CDATA #IMPLIEDresultMap CDATA #IMPLIED><!ELEMENT arg EMPTY><!ATTLIST argjavaType CDATA #IMPLIEDcolumn CDATA #IMPLIEDjdbcType CDATA #IMPLIEDtypeHandler CDATA #IMPLIEDselect CDATA #IMPLIEDresultMap CDATA #IMPLIED><!ELEMENT collection (constructor?,id*,result*,association*,collection*, discriminator?)><!ATTLIST collectionproperty CDATA #REQUIREDcolumn CDATA #IMPLIEDjavaType CDATA #IMPLIEDofType CDATA #IMPLIEDjdbcType CDATA #IMPLIEDselect CDATA #IMPLIEDresultMap CDATA #IMPLIEDtypeHandler CDATA #IMPLIEDnotNullColumn CDATA #IMPLIEDcolumnPrefix CDATA #IMPLIED><!ELEMENT association (constructor?,id*,result*,association*,collection*, discriminator?)><!ATTLIST associationproperty CDATA #REQUIREDcolumn CDATA #IMPLIEDjavaType CDATA #IMPLIEDjdbcType CDATA #IMPLIEDselect CDATA #IMPLIEDresultMap CDATA #IMPLIEDtypeHandler CDATA #IMPLIEDnotNullColumn CDATA #IMPLIEDcolumnPrefix CDATA #IMPLIED><!ELEMENT discriminator (case+)><!ATTLIST discriminatorcolumn CDATA #IMPLIEDjavaType CDATA #REQUIREDjdbcType CDATA #IMPLIEDtypeHandler CDATA #IMPLIED><!ELEMENT case (constructor?,id*,result*,association*,collection*, discriminator?)><!ATTLIST casevalue CDATA #REQUIREDresultMap CDATA #IMPLIED resultType CDATA #IMPLIED><!ELEMENT property EMPTY><!ATTLIST propertyname CDATA #REQUIREDvalue CDATA #REQUIRED><!ELEMENT typeAlias EMPTY><!ATTLIST typeAliasalias CDATA #REQUIREDtype CDATA #REQUIRED><!ELEMENT select (#PCDATA | include | trim | where | set | foreach | choose | if)*><!ATTLIST selectid CDATA #REQUIREDparameterMap CDATA #IMPLIEDparameterType CDATA #IMPLIEDresultMap CDATA #IMPLIEDresultType CDATA #IMPLIEDresultSetType (FORWARD_ONLY | SCROLL_INSENSITIVE | SCROLL_SENSITIVE) #IMPLIEDstatementType (STATEMENT|PREPARED|CALLABLE) #IMPLIEDfetchSize CDATA #IMPLIEDtimeout CDATA #IMPLIEDflushCache (true|false) #IMPLIEDuseCache (true|false) #IMPLIEDdatabaseId CDATA #IMPLIED><!ELEMENT insert (#PCDATA | selectKey | include | trim | where | set | foreach | choose | if)*><!ATTLIST insertid CDATA #REQUIREDparameterMap CDATA #IMPLIEDparameterType CDATA #IMPLIEDtimeout CDATA #IMPLIEDflushCache (true|false) #IMPLIEDstatementType (STATEMENT|PREPARED|CALLABLE) #IMPLIEDkeyProperty CDATA #IMPLIEDuseGeneratedKeys (true|false) #IMPLIEDkeyColumn CDATA #IMPLIEDdatabaseId CDATA #IMPLIED><!ELEMENT selectKey (#PCDATA | include | trim | where | set | foreach | choose | if)*><!ATTLIST selectKeyresultType CDATA #IMPLIEDstatementType (STATEMENT|PREPARED|CALLABLE) #IMPLIEDkeyProperty CDATA #IMPLIEDorder (BEFORE|AFTER) #IMPLIEDdatabaseId CDATA #IMPLIED><!ELEMENT update (#PCDATA | include | trim | where | set | foreach | choose | if)*><!ATTLIST updateid CDATA #REQUIREDparameterMap CDATA #IMPLIEDparameterType CDATA #IMPLIEDtimeout CDATA #IMPLIEDflushCache (true|false) #IMPLIEDstatementType (STATEMENT|PREPARED|CALLABLE) #IMPLIEDdatabaseId CDATA #IMPLIED><!ELEMENT delete (#PCDATA | include | trim | where | set | foreach | choose | if)*><!ATTLIST deleteid CDATA #REQUIREDparameterMap CDATA #IMPLIEDparameterType CDATA #IMPLIEDtimeout CDATA #IMPLIEDflushCache (true|false) #IMPLIEDstatementType (STATEMENT|PREPARED|CALLABLE) #IMPLIEDdatabaseId CDATA #IMPLIED><!-- Dynamic --><!ELEMENT include EMPTY><!ATTLIST includerefid CDATA #REQUIRED><!ELEMENT sql (#PCDATA | include | trim | where | set | foreach | choose | if)*><!ATTLIST sqlid CDATA #REQUIRED><!ELEMENT trim (#PCDATA | include | trim | where | set | foreach | choose | if)*><!ATTLIST trimprefix CDATA #IMPLIEDprefixOverrides CDATA #IMPLIEDsuffix CDATA #IMPLIEDsuffixOverrides CDATA #IMPLIED><!ELEMENT where (#PCDATA | include | trim | where | set | foreach | choose | if)*><!ELEMENT set (#PCDATA | include | trim | where | set | foreach | choose | if)*><!ELEMENT foreach (#PCDATA | include | trim | where | set | foreach | choose | if)*><!ATTLIST foreachcollection CDATA #REQUIREDitem CDATA #IMPLIEDindex CDATA #IMPLIEDopen CDATA #IMPLIEDclose CDATA #IMPLIEDseparator CDATA #IMPLIED><!ELEMENT choose (when* , otherwise?)><!ELEMENT when (#PCDATA | include | trim | where | set | foreach | choose | if)*><!ATTLIST whentest CDATA #REQUIRED><!ELEMENT otherwise (#PCDATA | include | trim | where | set | foreach | choose | if)*><!ELEMENT if (#PCDATA | include | trim | where | set | foreach | choose | if)*><!ATTLIST iftest CDATA #REQUIRED>

二:在eclipse中使用XML约束文件将约束文件,插入到xml文件中,两种约束文件的插入位置是相同的

核心配置文件:

<?xml version='1.0' encoding='UTF-8'?><!-- .DTD文件是xml格式文件的约束文件,它约束了该xml文件使用的标签以及标签之间的关系 --><!DOCTYPE configurationPUBLIC '-//mybatis.org//DTD Config 3.0//EN''http://mybatis.org/dtd/mybatis-config.dtd'>

sql映射文件:

<?xml version='1.0' encoding='UTF-8'?><!-- 该文件代表的是类和表的映射关系,关于表的sql语句等等写在这里 --><!DOCTYPE mapperPUBLIC '-//mybatis.org//DTD Mapper 3.0//EN''http://mybatis.org/dtd/mybatis-mapper.dtd'>

三:集成到eclipse开发工具中Window-> Preferences->XML->XML Catalog->Add

然后

key:写入 xml文件中 PUBLIC中的值

Location:选择dtd文件的实际物理位置

总结

到此这篇关于Mybatis中常用的约束文件的文章就介绍到这了,更多相关Mybatis约束文件内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!

标签: Mybatis 数据库
相关文章: