2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
《MyBatis theoria 40 quaestionum-Continetur sequentia 2 capitula:
Add in new tag:keyProperty=“ID”
Id est.
<insert id="insert" useGeneratedKeys="true" keyProperty="userId" >
insert into user(user_name, user_password, create_time)
values(#{userName}, #{userPassword} , #{createTime, jdbcType=TIMESTAMP})
</insert>
(1) By querying SQL Definire alias agri nomen in eo quod alias agri nomen convenit cum attributo nomine entis ordinis.
<select id="getOrder" parameterType="int" resultType="com.jourwon.pojo.Order">
select order_id id, order_no orderno, order_price price form orders
where order_id=#{id};
</select>
(2) Pass <resultMap>
Ad describendam unum-ad-unam correspondentiam inter nomina campi et entitatis nominum attributorum.
<select id="getOrder" parameterType="int" resultMap="orderResultMap">
select * from orders where order_id=#{id}
</select>
<resultMap type="com.jourwon.pojo.Order" id="orderResultMap">
<!-- 用id属性来映射主键字段 -->
<id property="id" column="order_id">
<!-- 用result属性来映射非主键字段,property为实体类属性名,column为数据库表中的属性 -->
<result property="orderno" column="order_no" />
<result property="price" column="order_price" />
</reslutMap>
(1) Interface implementation class hæreditatem SqlSessionDaoSupport
: Ad hanc methodum utendum, scribere debes mapper
interface;mapper
Interface implementation class,mapper.xml
documentum.
sqlMapConfig.xml
Medium configurationemapper.xml
prsecipuum.<mappers>
<mapper resource="mapper.xml 文件的地址" />
<mapper resource="mapper.xml 文件的地址" />
</mappers>
mapper
instrumenti.SqlSessionDaoSupport
。mapper
Potest in modisthis.getSqlSession()
Data facere additionem, deletionem, immutationem et sequatur.spring
figuratio.<bean id=" " class="mapper 接口的实现">
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
(2) Usus org.mybatis.spring.mapper.MapperFactoryBean
。
sqlMapConfig.xml
Medium configurationemapper.xml
situm ifmapper.xml
etmapper
Interfaces idem nomen habent et in eodem directorio sunt, ut nulla hic figura requiratur.mapper
instrumenti.<mappers>
<mapper resource="mapper.xml 文件的地址" />
<mapper resource="mapper.xml 文件的地址" />
</mappers>
mapper.xml
mediumnamespace
for*mapper
Oratio interface.mapper
Modus nominis in interface andmapper.xml
definiturstatement
of*id
consentaneum esse.Spring
definitur in.<bean id="" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="mapper 接口地址" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
(3) Usus mapper
scanner.
mapper.xml
Documenti scripto.mapper.xml
mediumnamespace
for*mapper
Oratio interface;mapper
Modus nominis in interface andmapper.xml
definiturstatement
of*id
constare;mapper.xml
etmapper
Si nomen interfaciei sibi constet, nihil opus estsqlMapConfig.xml
Configurare in .mapper
instrumenti.Noticemapper.xml
file nomen etmapper
Interface nomina constant et in eodem presul esse debent.mapper
scanner.<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="mapper 接口包地址"></property>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
spring
Ut a vasemapper
exsecutionem rei.Obligatio interfaciei est ad arbitrium interfaciei in MyBatis definire, et modos interfaciei cum SQL coniungere. diciturObligatio, directe appellare possumus methodum interfaciendi, ita comparatum cum originali SqlSession
Modi provisi nos permittunt electiones et occasus flexibiliores habere.
Dupliciter ligamen instrumenti efficiendi;
@Select
、@Update
Exspecta adnotationes, quae continent SQL dictas ligare;xml
Scribe SQL intus ligare. In hoc casu, specificare debesxml
in tabularum faciendarum filenamespace
Plena debet esse pathname interface.Cum enuntiatio SQL relative simplex est, annotationem ligans uterexml
Binding, General usexml
Plures sunt ligaturae.mapper.xml
cuiusque sql definiturid
eodem.mapper.xml
cuiusque sql definiturparameterType
eiusdem generis.mapper.xml
cuiusque sql definiturresultType
eiusdem generis.Mapper.xml
in tabellanamespace
Id genus est via Mapper interface.proxy
rem procuratorem objectumproxy
Modi instrumenti intercipiendi et executi erunt locoMappedStatement
SQL repraesentatur, deinde redit exsecutio SQL eventus.namespace
,So id
Iterari potest;namespace
,So id
iterari non potest;namespace
Non requiritur, sicut praxis.namespace + id
est ut M ap < S tring , M apped S tament > Map<String, MappedStatement>Map<Str*ing*,Mapped*Statement> Clavis uti, si nemonamespace
, Reliquum id
;id
Duplicatio potest causare notitia se rescribere.obtinuit eamnamespace
, natura id
Repetere potes;namespace
diversus;namespace + id
Naturaliter aliter est.MyBatis encapsulat omnes Xml configurationes informationes in omnes-in-unum heavyweight objects Configuration
internum. In tabula tabularia Xml destinata;<parameterMap>
Tag ut parsedParameterMap
objectum, quodlibet ejus infantis elementa parsed eruntParameterMapping
objectum.<resultMap>
Tag ut parsedResultMap
objectum, quodlibet ejus infantis elementa parsed eruntResultMapping
objectum.Omne<select>
、<insert>
、<update>
、<delete>
Tags parsed utMappedStatement
Objectum SQL in tag parteed eritBoundSql
objectum.
<resultMap>
Tags definire tabularum relationem inter columnae nomina et obiectum attributum nomina singillatim.T_NAME AS NAME
Obiectum attributum nomen plerumque name
, lowercase, columna nomina non sunt sensitiva T_NAME AS NaMe
, MyBatis adhuc operari solet.Postquam nomina columnarum inter nomina et nomina attributa habens relationem, MyBatis objecta per reflexionem creat, et reflexionem adhibet ad singulatim valores assignandos ad proprietates obiecti et ea retrahendas assignatio absolvi non potest.
Sunt multa alia tags; <resultMap>
、<parameterMap>
、<sql>
、<include>
、<selectKey>
, plus dynamica SQL
9
9
9 tags:trim
、where
、set
、foreach
、if
、choose
、when
、otherwise
、bind
manere.in<sql>
Ad SQL fragmentum tags, pass<include>
Tags SQL fragmenta inducere;<selectKey>
Genera consilium pittacia pro clavis primariis quae auto-incrementum non sustinent.
Etsi MyBatis parses tabellae Xml destinativae in ordine, in referenced B tag tamen alicubi definiri potest, et MyBatis recte pervidere potest.
Principium est MyBatis parses A tag et invenit A tag indicios B tag, sed B tag nondum parsed non esse Reliquas tags, in quibus B. Tags, post omnes tags parsed, MyBatis rursus parse illae tags ut dubitatur.
potest non solum potest unus ad plures, unus ad unumBene satis Multi-ad-multi, multi ad unum . Quod quidem ita se habet;
MyBatis can map Enumeratio classes.Mapping modus est nativus unumTypeHandler
, perfice TypeHandler
of*setParameter()
etgetResult()
instrumenti modi.
TypeHandler
Duo munera habet, unum ad perficiendumjavaType
tojdbcType
Conversio, secunda completurjdbcType
tojavaType
Conversio relucetsetParameter()
etgetResult()
Duo modi repraesentant sql signum interrogationis parametri collocandi et obtinendi columnam inquisitionis eventus respective.
MyBatis dynamicus SQL permittit nos scribere dynamicam SQL in forma tags in Xml tabularum tabularum ad perficiendas functiones iudicii logici et dynamicae splicationis SQL
9
9
9 Dynamic SQL tags:trim
、where
、set
、foreach
、if
、choose
、when
、otherwise
、bind
。
Executio eius principium est uti OGNL
Valorem locutionis ab obiecto SQL parametri et dynamice splice SQL secundum valorem expressionis ad munus dynamici SQL complendum.
MyBatis usus RowBounds
Objectum paginated est forResultSet
Memoria pagina peracta ex statuto paginae physicae non est. Parametris cum pagina physica in SQL directe scribere potes ad functionem physicam perficiendam, vel pagina obturaculum ad perficiendam paginas physicas uti potes.
Principium paginae obturaculi in obturaculum-in interface provisum est a MyBatis ad obturaculum deducendum in usu, intercipiendum SQL ad efficiendum in modo obturaculum intercipiendum, et deinde rescribe SQL secundum to dialect
Dialectica, adde propositiones paginas physicas respondentes et parametri paginas physicas.
Exemplum:
select * from student
SQL interceptis, rescribe ut:
select t.* from (select * from student) t limit 0, 10
MyBatis non solum scribere ParameterHandler
、ResultSetHandler
、StatementHandler
、Executor
hoc
4
4
4 Obturaculum quoddam interfaciendi in, MyBatis dynamicum procuratorem JDK utitur ad objecta procuratoria generanda pro interfaces quae interfacienda sunt ad modum interceptionis functionis interfaciendi deducendi.
4
4
4 methodus objecti interfaciei, modus interceptionis intrabit, speciatim .InvocationHandler
of*invoke()
Methodi, scilicet, modos istos modos intercipies, quos intercipere definis.
Effectus MyBatis Interceptor
Interface et overrideintercept()
Methodo, scribe adnotationes pro obturatorio et specificare quos modos quorum interfacies vis intercipere.
PerpetualCache
Cache locale HashMap, eius ambitus Sessio, cum Sessioflush
or *close
Post hoc, omnia cella in sessione patebunt, et primi gradus cella vertetur in defalta.PerpetualCache
, HashMap reposita, differentia est quod scopum suum repositionis est Mapper
(Namespace
) et fons repositionis nativus esse potest, ut Ehcache
.Secundus-gradus cache defalta non permittit. Ut secundus gradus cache, secundum gradus cache attributum genus necessario perficiatur.Serializable
Serialization interface (potest salvare statum rei), configurable in mapping file<cache/>
。C
/ U
/ D
Post operationem, omnia fasciculi in hoc ambitu defaltaselect
Latibulum in eritclear
。