|
|
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 |
kisung, baek 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();
}
}
|
|
|
Powered by
FUDForum. Page generated in 1.64526 seconds