TangYuan
TangYuan — это фреймворк для персистентного слоя на основе Java. Он предоставляет следующие возможности: SQL Maps и Data Access Objects (DAO).
- Данные
Поддерживает несколько источников данных, что упрощает работу с приложениями, использующими несколько баз данных. Также поддерживает группы источников данных для удобства работы в среде с большим объёмом данных и разделением на таблицы и базы данных.
- Транзакции
Нативно поддерживает распространение и изоляцию транзакций без необходимости использования сторонних фреймворков. Поддерживает многоисточниковые транзакции JDBC.
- Кэширование
Предоставляет нативную поддержку различных типов кэширования и их комбинированного использования.
- Отображение данных
Позволяет настраивать отображение данных с помощью пользовательских конфигураций и предоставляет основанные на правилах конфигурации отображения.
- Разделение на библиотеки и таблицы
Нативно поддерживает разделение на библиотеки и таблицы на основе Hash, Range, Mod и Random режимов. Также позволяет настраивать собственные стратегии разделения на библиотеки и таблицы.
- Доступ к данным
Поддерживает доступ к отдельным строкам SQL-запросов и сложные комбинации SQL-запросов, делая разработку приложений баз данных более эффективной и простой.
- Доступ к Mongo
<dependency>
<groupId>org.xson</groupId>
<artifactId>tangyuan</artifactId>
<version>1.0.0</version>
</dependency>
<sql-service id="updateProjectP2" dsKey="writetvr" txRef="tx_02">
<if test="{through} == 2">
<update rowCount="{nCount}">
update project set
project_state = 25,
audit_time = #{audit_time|now()},
update_time = #{update_time|now()}
where
project_sn = #{project_sn} AND
project_ctrl_state = 1 AND
project_state = 20
</update>
<exception test="{nCount} != 1" code="-1" message="Проект не прошёл проверку"/>
<selectOne resultKey="{project}">
select * from project where project_sn = #{project_sn}
</selectOne>
<if test="{project.reservation_mode} == 2">
<insert>
INSERT INTO project_apply (
project_sn, provider_id, provider_name, bidding_amount,
create_time, apply_state, reservation_state
) VALUES (
#{project_sn}, #{project.provider_id}, #{project.provider_name}, #{bidding_amount|0},
#{create_time|now()}, 2, 10
)
</insert>
</if>
</if>
<else>
<update rowCount="{nCount}">
update project set
task_ctrl_state = 2,
audit_no_time = #{audit_no_time|now()},
update_time = #{update_time|now()}
where
project_sn = #{project_sn} AND
task_ctrl_state = 1
</update>
</else>
</sql-service>
Руководство по использованию и технический дизайн
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )