nbcp.myoql.db.sql.component.SqlBaseClip.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ktmyoql Show documentation
Show all versions of ktmyoql Show documentation
kotlin orm -- mysql,mongo , just like ktorm
The newest version!
package nbcp.myoql.db.sql.component
import nbcp.base.extend.AsString
import nbcp.base.extend.HasValue
import nbcp.base.extend.scopes
import nbcp.base.utils.SpringUtil
import nbcp.myoql.db.db
import nbcp.myoql.db.sql.DataSourceScope
import nbcp.myoql.db.sql.SqlTableDataSource
import nbcp.myoql.db.sql.base.SqlParameterData
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
import java.io.Serializable
import javax.sql.DataSource
/**
* ORM解决80%的问题即可. 对于 自连接,复杂的查询, 直接写Sql吧.
*
* 1. 读写分离
*
* 当前线程中,如果对某一个表进行了修改,则之后对该表的查询,也定位到主库.
*
* https://www.jianshu.com/p/f728e8c131a9
* 配置: spring.datasource 是主库的数据库连接。
* 额外增加: spring.datasource-slave 表示是从库连接。参数继承 spring.datasource
* 额外增加: spring.datasource-slave 表示是从库连接池。参数继承 spring.datasource.hikari
* 这样的好处是,当没有配置 spring.datasource-slave,可当单库使用。
*
* 2. 切数据源
*
* usingScope(db.getJdbcTemplate("primary")){
*
* }
*
* 3. 事务使用方式:
transTemplate.execute(new TransactionCallback