详解Mybatis中常用的约束文件

网友投稿 415 2022-11-22


详解Mybatis中常用的约束文件

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

PUBLIC "lDyCCwsi-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

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

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 fatal

log4j.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 - %m\n

# 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 - %m\n

PS:Mybatis xml约束文件的使用

一:准备.DTD约束文件

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

<!ELEMENT configuration (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, plugins?, environments?, databaseIdProvider?, mappers?)>

<!ELEMENT databaseIdProvider (property*)>

<!ATTLIST databaseIdProvider

type CDATA #REQUIRED

>

<!ELEMENT properties (property*)>

<!ATTLIST properties

resource CDATA #IMPLIED

url CDATA #IMPLIED

>

<!ELEMENT property EMPTY>

<!ATTLIST property

name CDATA #REQUIRED

value CDATA #REQUIRED

>

<!ELEMENT settings (setting+)>

<!ELEMENT setting EMPTY>

<!ATTLIST setting

name CDATA #REQUIRED

value CDATA #REQUIRED

>

<!ELEMENT typeAliases (typeAlias*,package*)>

<!ELEMENT typeAlias EMPTY>

<!ATTLIST typeAlias

type CDATA #REQUIRED

alias CDATA #IMPLIED

>

<!ELEMENT typeHandlers (typeHandler*,package*)>

<!ELEMENT typeHandler EMPTY>

<!ATTLIST typeHandler

javaType CDATA #IMPLIED

jdbcType CDATA #IMPLIED

handler CDATA #REQUIRED

>

<!ELEMENT objectFactory (property*)>

<!ATTLIST objectFactory

type CDATA #REQUIRED

>

<!ELEMENT objectWrapperFactory (property*)>

<!ATTLIST objectWrapperFactory

type CDATA #REQUIRED

>

<!ELEMENT plugins (plugin+)>

<!ELEMENT plugin (property*)>

<!ATTLIST plugin

interceptor CDATA #REQUIRED

>

<!ELEMENT environments (environment+)>

<!ATTLIST environments

default CDATA #REQUIRED

>

<!ELEMENT environment (transactionManager,dataSource)>

<!ATTLIST environment

id CDATA #REQUIRED

>

<!ELEMENT transactionManager (property*)>

<!ATTLIST transactionManager

type CDATA #REQUIRED

>

<!ELEMENT dataSource (property*)>

<!ATTLIST dataSource

type CDATA #REQUIRED

>

<!ELEMENT mappers (mapper*,package*)>

<!ELEMENT mapper EMPTY>

<!ATTLIST mapper

resource CDATA #IMPLIED

url CDATA #IMPLIED

class CDATA #IMPLIED

>

<!ELEMENT package EMPTY>

<!ATTLIST package

name CDATA #REQUIRED

>

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

<!ELEMENT mapper (cache-ref | cache | resultMap* | parameterMap* | sql* | insert* | update* | delete* | select* )+>

<!ATTLIST mapper

xmlns:fo CDATA #IMPLIED

namespace CDATA #IMPLIED

>

<!ELEMENT cache-ref EMPTY>

<!ATTLIST cache-ref

namespace CDATA #REQUIRED

>

<!ELEMENT cache (property*)>

<!ATTLIST cache

type CDATA #IMPLIED

eviction CDATA #IMPLIED

flushInterval CDATA #IMPLIED

size CDATA #IMPLIED

readOnly CDATA #IMPLIED

>

<!ELEMENT parameterMap (parameter+)?>

<!ATTLIST parameterMap

id CDATA #REQUIRED

type CDATA #REQUIRED

>

<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

property CDATA #REQUIRED

javaType CDATA #IMPLIED

jdbcType CDATA #IMPLIED

mode (IN | OUT | INOUT) #IMPLIED

resultMap CDATA #IMPLIED

scale CDATA #IMPLIED

typeHandler CDATA #IMPLIED

>

<!ELEMENT resultMap (constructor?,id*,result*,association*,collection*, discriminator?)>

<!ATTLIST resultMap

id CDATA #REQUIRED

type CDATA #REQUIRED

extends CDATA #IMPLIED

autoMapping (true|false) #IMPLIED

>

<!ELEMENT constructor (idArg*,arg*)>

<!ELEMENT id EMPTY>

<!ATTLIST id

property CDATA #IMPLIED

javaType CDATA #IMPLIED

column CDATA #IMPLIED

jdbcType CDATA #IMPLIED

typeHandler CDATA #IMPLIED

>

<!ELEMENT result EMPTY>

<!ATTLIST result

property CDATA #IMPLIED

javaType CDATA #IMPLIED

column CDATA #IMPLIED

jdbcType CDATA #IMPLIED

typeHandler CDATA #IMPLIED

>

<!ELEMENT idArg EMPTY>

<!ATTLIST idArg

javaType CDATA #IMPLIED

column CDATA #IMPLIED

jdbcType CDATA #IMPLIED

typeHandler CDATA #IMPLIED

select CDATA #IMPLIED

resultMap CDATA #IMPLIED

>

<!ELEMENT arg EMPTY>

<!ATTLIST arg

javaType CDATA #IMPLIED

column CDATA #IMPLIED

jdbcType CDATA #IMPLIED

typeHandler CDATA #IMPLIED

select CDATA #IMPLIED

resultMap CDATA #IMPLIED

>

<!ELEMENT collection (constructor?,id*,result*,association*,collection*, discriminator?)>

<!ATTLIST collection

property CDATA #REQUIRED

column CDATA #IMPLIED

javaType CDATA #IMPLIED

ofType CDATA #IMPLIED

jdbcType CDATA #IMPLIED

select CDATA #IMPLIED

resultMap CDATA #IMPLIED

typeHandler CDATA #IMPLIED

notNullColumn CDATA #IMPLIED

columnPrefix CDATA #IMPLIED

>

<!ELEMENT association (constructor?,id*,result*,association*,collection*, discriminator?)>

<!ATTLIST association

property CDATA #REQUIRED

column CDATA #IMPLIED

javaType CDATA #IMPLIED

jdbcType CDATA #IMPLIED

select CDATA #IMPLIED

resultMap CDATA #IMPLIED

typeHandler CDATA #IMPLIED

notNullColumn CDATA #IMPLIED

columnPrefix CDATA #IMPLIED

>

<!ELEMENT discriminator (case+)>

<!ATTLIST discriminator

column CDATA #IMPLIED

javaType CDATA #REQUIRED

jdbcType CDATA #IMPLIED

typeHandler CDATA #IMPLIED

>

<!ELEMENT case (constructor?,id*,result*,association*,collection*, discriminator?)>

<!ATTLIST case

value CDATA #REQUIRED

resultMap CDATA #IMPLIED

resultType CDATA #IMPLIED

>

<!ELEMENT property EMPTY>

<!ATTLIST property

name CDATA #REQUIRED

value CDATA #REQUIRED

>

<!ELEMENT typeAlias EMPTY>

<!ATTLIST typeAlias

alias CDATA #REQUIRED

type CDATA #REQUIRED

>

<!ELEMENT select (#PCDATA | include | trim | where | set | foreach | choose | if)*>

<!ATTLIST select

id CDATA #REQUIRED

parameterMap CDATA #IMPLIED

parameterType CDATA #IMPLIED

resultMap CDATA #IMPLIED

resultType CDATA #IMPLIED

resultSetType (FORWARD_ONLY | SCROLL_INSENSITIVE | SCROLL_SENSITIVE) #IMPLIED

statementType (STATEMENT|PREPARED|CALLABLE) #IMPLIED

fetchSize CDATA #IMPLIED

timeout CDATA #IMPLIED

flushCache (true|false) #IMPLIED

useCache (true|false) #IMPLIED

databaseId CDATA #IMPLIED

>

<!ELEMENT insert (#PCDATA | selectKey | include | trim | where | set | foreach | choose | if)*>

<!ATTLIST insert

id CDATA #REQUIRED

parameterMap CDATA #IMPLIED

parameterType CDATA #IMPLIED

timeout CDATA #IMPLIED

flushCache (true|false) #IMPLIED

statementType (STATEMENT|PREPARED|CALLABLE) #IMPLIED

keyProperty CDATA #IMPLIED

useGeneratedKeys (true|false) #IMPLIED

keyColumn CDATA #IMPLIED

databaseId CDATA #IMPLIED

>

<!ELEMENT selectKey (#PCDATA | include | trim | where | set | foreach | choose | if)*>

<!ATTLIST selectKey

resultType CDATA #IMPLIED

statementType (STATEMENT|PREPARED|CALLABLE) #IMPLIED

keyProperty CDATA #IMPLIED

order (BEFORE|AFTER) #IMPLIED

databaseId CDATA #IMPLIED

>

<!ELEMENT update (#PCDATA | include | trim | where | set | foreach | choose | if)*>

<!ATTLIST update

id CDATA #REQUIRED

parameterMap CDATA #IMPLIED

parameterType CDATA #IMPLIED

timeout CDATA #IMPLIED

flushCache (true|false) #IMPLIED

statementType (STATEMENT|PREPARED|CALLABLE) #IMPLIED

databaseId CDATA #IMPLIED

>

<!ELEMENT delete (#PCDATA | include | trim | where | set | foreach | choose | if)*>

<!ATTLIST delete

id CDATA #REQUIRED

parameterMap CDATA #IMPLIED

parameterType CDATA #IMPLIED

timeout CDATA #IMPLIED

flushCache (true|false) #IMPLIED

statementType (STATEMENT|PREPARED|CALLABLE) #IMPLIED

databaseId CDATA #IMPLIED

>

<!ELEMENT include EMPTY>

<!ATTLIST include

refid CDATA #REQUIRED

>

<!ELEMENT sql (#PCDATA | include | trim | where | set | foreach | choose | if)*>

<!ATTLIST sql

id CDATA #REQUIRED

>

<!ELEMENT trim (#PCDATA | include | trim | where | set | foreach | choose | if)*>

<!ATTLIST trim

prefix CDATA #IMPLIED

prefixOverrides CDATA #IMPLIED

suffix CDATA #IMPLIED

suffixOverrides 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 foreach

collection CDATA #REQUIRED

item CDATA #IMPLIED

index CDATA #IMPLIED

open CDATA #IMPLIED

close CDATA #IMPLIED

separator CDATA #IMPLIED

>

<!ELEMENT choose (when* , otherwise?)>

<!ELEMENT when (#PCDATA | include | trim | where | set | foreach | choose | if)*>

<!ATTLIST when

test CDATA #REQUIRED

>

<!ELEMENT otherwise (#PCDATA | include | trim | where | set | foreach | choose | if)*>

<!ELEMENT if (#PCDATA | include | trim | where | set | foreach | choose | if)*>

<!ATTLIST if

test CDATA #REQUIRED

>

二:在eclipse中使用XML约束文件

将约束文件,插入到xml文件中,两种约束文件的插入位置是相同的

核心配置文件:

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-config.dtd">

sql映射文件:

PUBLIC "-//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文件的实际物理位置

总结


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot中使用redis做分布式锁的方法
下一篇:Spring @Value 设置默认值的实现
相关文章

 发表评论

暂时没有评论,来抢沙发吧~