WebHU - Programozási kérdések és válaszok

Tomcat kapcsolati medence a MyBatis-szal

Érdeklődnék, van-e valakinek kódpéldája a kapcsolatkészlet beállítására a Tomcatben (7 vagy újabb) a MyBatis ORM-ként való használatával.

Feltételezem, hogy hozzá kell adnom egy erőforrást a context.xml fájlomhoz a Tomcat conf mappámban, majd csatolnom kell a MyBatishoz. Megnéztem, és minden oktatóanyag, amit találtam, tavaszspecifikusnak tűnik. Van valakinek egy egyszerű oktatóanyaga, vagy felvázolná, hogy milyen lépések szükségesek az üzembe helyezéshez?

12.02.2015

  • Tehát nem használhatja a csatlakozási készletet a Tomcat--› tavaszi--›mybatisban? Ez csökkenti a sok kódolást....... megkönnyíti a jndi keresés használatát 17.02.2015

Válaszok:


1

Ez a régi bejegyzés található az iBatis GYIK-ben, amelynek továbbra is érvényesnek kell lennie a myBatisre: Hogyan használhatok JNDI adatforrást az iBATIS-szal a Tomcatben?.

A részletekért a Google segítségével konfigurálhat egy adatforrást a Tomcat verziójában, majd konfigurálhatja a MyBatis-t is (ez eltér az iBatis konfigurációjától):

<environment id="development">
    <transactionManager type="JDBC" />
    <dataSource type="JNDI">
        <property name="data_source" value="java:comp/env/jdbc/yourDatasourceName"/>
    </dataSource>
</environment>
28.02.2015

2

Ezt többféleképpen is megteheti. Feltételezem, hogy a Tomcat (a Spring-szel ellentétben) felügyelt kapcsolat-készletezést akarja megvalósítani. MySQL/Spring 4/Mybatis-spring 1.1 stacken teszteltem.

  1. Találja ki a megvalósítani kívánt kapcsolat-összevonási mechanizmust (C3P0/DBCP stb.).

  2. Ha az adatbázisát JNDI adatforrásként szeretné használni, akkor azt erőforrásként kell deklarálnia a Tomcat beállításaiban. Ennek számos módja van. Kövesse ezt a jól megírt útmutatót: Tomcat JNDI kapcsolatgyűjtés a>. Általában a következő bejegyzést adom hozzá az alkalmazásom META-INF könyvtárában található context.xml fájlhoz:

<Context> <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/javatest"/> </Context>

Ezt a fájlt a Tomcat használja saját alapértelmezett kapcsolatkészletének meghívására, amely ebben az esetben a DBCP 2 lenne. A beállításokat úgy módosíthatja, hogy további paramétereket (például removeAbandonedOnBorrow=true) ad hozzá a fenti Erőforrás elemhez. Az adatbázis illesztőprogram-jar-ját (pl. MySQL Connector Jar) tegye a Tomcat lib mappájába.

  1. Ezt követően a Mybatis megvalósításától függően (XML vagy komponens alapú) beillesztheti ezt az adatforrást a Mybatisba. Ha a bab módjára csinálod, akkor a következőképpen teheted:

<bean id="dbDataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/TestDB"/> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dbDataSource" /> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dbDataSource" /> <property name="typeAliasesPackage" value="com.example.model"/> <property name="mapperLocations" value="classpath*:*.xml" /> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.example.dao" /> </bean>

A MapperScannerConfigurer azért szükséges, mert a neki adott könyvtárakban keresi a leképező xml fájlokat. Használhatja a mybatis-config.xml fájl meghatározásának régi módját is, ha beadja a fájl helyét a configLocation tulajdonságában lévő sqlSessionFactory komponensbe.

27.12.2015
Új anyagok

A rádiógomb ellenőrzött eseményének használata a jQueryben
Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

Miért érdemes elkezdeni a kódolást 2023-ban?
01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

🎙 Random Noise #2  – Örökbefogadás és hit
az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..