Это JDBC-пул соединений с поддержкой высокого параллелизма, компактный и быстрый. В настоящее время поддерживается только MySQL.
Если вам нравится этот продукт, пожалуйста, поставьте ему «звёздочку».
Характеристики:
Требования:
Как использовать:
<dependency>
<groupId>cn.4coder</groupId>
<artifactId>jdbc</artifactId>
<version>0.0.9</version>
</dependency>
/* Глобальные свойства */
#jdbc.multiQueries=true Поддержка множественных запросов
#jdbc.queryTimeout=5 Время ожидания запроса
/* Источник данных по умолчанию */
jdbc.datasource.driverClassName=com.mysql.jdbc.Driver
jdbc.datasource.url=jdbc:mysql://localhost:3306/test
jdbc.datasource.username=root
jdbc.datasource.password=123456
jdbc.datasource.initialSize=4
/* Другие источники данных, разделенные по именам */
jdbc.datasource.test1.driverClassName=com.mysql.jdbc.Driver
jdbc.datasource.test1.url=jdbc:mysql://localhost:3306/test1
jdbc.datasource.test1.username=root
jdbc.datasource.test1.password=123456
jdbc.datasource.test1.initialSize=2
<!-- Настройка SessionFactory -->
<bean id="sessionFactory" class="cn.coder.jdbc.spring.SqlSessionFactoryBean" >
<!-- Если не используете сторонний DataSource, закомментируйте следующую строку -->
<property name="dataSource" ref="dataSource"></property>
</bean>
SqlSessionFactory.createSessions();//Создание всех источников данных
//Получение определенного источника данных
SqlSession session = SqlSessionFactory.getInstance().getSession();//Источник данных по умолчанию
SqlSession session1 = SqlSessionFactory.getInstance().getSession("test1");//Другой источник данных
System.out.println(session.selectOne(Integer.class, "select count(1) from weike"));
//Транзакции для нескольких источников данных
SqlTranction tran = null;
try {
tran = session.beginTranction(session1.beginTranction());
session.execute("INSERT INTO weike (title) VALUES (?)", "test");
session1.execute("INSERT INTO test (title) VALUES (?)", "test1");
tran.commit();
} catch (Exception e) {
if(tran != null)
tran.rollback(e);
}
//Уничтожение источника данных
SqlSessionFactory.destory():
public class WeikeDao extends DaoSupport {
public List<Weike> getDeviceList() {
return jdbc().selectList(Weike.class, "select * from weike");
}
public void call() {
//Выполнение хранимой процедуры
Object[] result = jdbc().callProcedure("{call test(?,?)}", System.currentTimeMillis());
//Получить значение OUT по индексу
System.out.println(result[1]);
}
//Обработка транзакций
public boolean test() {
return tran(new Run(){
@Override
public void exec(SqlSession session) {
//Использовать один и тот же session
//session.selectList
//session.selectOne
}
});
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )