Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse 4 » how to use mybatis for database connection in e4 rcp ?(mybatis usages for e4 rcp)
how to use mybatis for database connection in e4 rcp ? [message #1844477] Tue, 14 September 2021 18:02 Go to next message
kisung, baek is currently offline kisung, baekFriend
Messages: 2
Registered: September 2012
Junior Member
I want use mybatis for database connection in e4 rcp. I use mybatis-config.xml.
It contains properties file db.properties in same plugin.
But rcp says it cannot find db.properties file.
But I test it just plain java it works well.
How can I solve this problem?
Plz help me.
Here is mybatis-config.xml
Re: how to use mybatis for database connection in e4 rcp ? [message #1844560 is a reply to message #1844477] Thu, 16 September 2021 14:42 Go to previous messageGo to next message
Michael Frank is currently offline Michael FrankFriend
Messages: 13
Registered: February 2021
Junior Member
You didn't add the config file. Chances are you are not reading the db.properties in a plugin/RCP compatible way but without any code it is hard to tell. Are you using mybatis as a bundle in your application?
Re: how to use mybatis for database connection in e4 rcp ? [message #1844593 is a reply to message #1844560] Fri, 17 September 2021 08:30 Go to previous message
kisung, baek is currently offline kisung, baekFriend
Messages: 2
Registered: September 2012
Junior Member

mybatis-config.xml

<?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">
<configuration>
<properties resource="db.properties"/>
<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="autoMappingUnknownColumnBehavior" value="WARNING"/>
<setting name="defaultExecutorType" value="SIMPLE"/>
<setting name="defaultStatementTimeout" value="25"/>
<setting name="defaultFetchSize" value="100"/>
<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"/>
<setting name="returnInstanceForEmptyRow" value = "true"/>
</settings>
<typeAliases>
<typeAlias alias="LocalDateTime" type="java.time.LocalDateTime"/>
<typeAlias alias="LocalDate" type="java.time.LocalDate"/>
<typeAlias alias="InstrumentType" type="com.mylab.core.model.InstrumentType"/>
<typeAlias alias="OrderResult" type="com.mylab.core.model.OrderResult"/>
<typeAlias alias="Order" type="com.mylab.core.model.Order"/>
</typeAliases>

<environments default="postgresql">
<environment id="postgresql">
<transactionManager type="JDBC" />
<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>

<environment id="db2">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${db2.driver}"/>
<property name="url" value="${db2.url}"/>
<property name="username" value="${db2.username}"/>
<property name="password" value="${db2.password}"/>
</dataSource>
</environment>
</environments>

<databaseIdProvider type="DB_VENDOR">
<property name="MySQL" value="mysql" />
<property name="Oracle" value="oracle" />
<property name="Postgre" value="postgresql" />
<property name="DB2" value="db2" />
</databaseIdProvider>

<mappers>
<!-- <mapper resource="InsTypeMapper.xml"/>
<mapper resource="InsTestsMapper.xml"/>
<mapper resource="OrderResultMapper.xml"/> -->
<mapper resource="HostDBMapper.xml" />
</mappers>
</configuration>

Test java source
@Component
public class TestServiceImpl implements ILocalDBHandler {

public TestServiceImpl() {
// TODO Auto-generated constructor stub
}

public static void main(String[] args) {
// TODO Auto-generated method stub
TestServiceImpl localDbHandler = new TestServiceImpl();
localDbHandler.sqlFactorySessionBuild();
}

@Override
public Object process(BiFunction<SqlSessionFactory, Object, ?> processor) {
// TODO Auto-generated method stub
return null;
}

@Override
public void sqlFactorySessionBuild() {
System.out.println(this.getClass().getSimpleName());
String resource = "/mybatis-config.xml";
InputStream inputStream = getClass().getResourceAsStream(resource);

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

}
}


service program source.
public interface ILocalDBHandler {
public default void sqlFactorySessionBuild() {
// 설정정보의 InputStream을 받아온다.

}
}

ui part source
public class SamplePart {
private Text text;

@Inject
public SamplePart() {

}

@PostConstruct
public void postConstruct(Composite parent, ILocalDBHandler localDbHandler) {
parent.setLayout(new GridLayout(1, false));
text = new Text(parent, SWT.BORDER);
text.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
System.out.println(this.getClass().getSimpleName() + " constructed");

localDbHandler.sqlFactorySessionBuild();

}

@Focus
public void onFocus(ILocalDBHandler localDbHandler) {
localDbHandler.sqlFactorySessionBuild();
}

}
Previous Topic:Influence Focus as it was possible with setFocusTraversalPolicy and DefaultKeyboardFocusManager
Next Topic:How to check if clear flag in run configuration was set
Goto Forum:
  


Current Time: Thu Apr 25 09:10:08 GMT 2024

Powered by FUDForum. Page generated in 1.64526 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top