# easy-jdbc
**Repository Path**: yydf/easy-jdbc
## Basic Information
- **Project Name**: easy-jdbc
- **Description**: 一个简单、快速,支持高并发的jdbc,目前只支持MySQL数据库。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 62
- **Forks**: 19
- **Created**: 2017-08-13
- **Last Updated**: 2023-07-13
## Categories & Tags
**Categories**: database-dev
**Tags**: None
## README
# easy-jdbc
一个支持高并发的jdbc链接池,体积小、速度快,目前只支持mysql
如果您觉得好用,请Star
[](https://maven-badges.herokuapp.com/maven-central/cn.4coder/jdbc/)

特性
-------------------------
* 轻量、高效
* 无复杂配置
* 支持Spring管理
* 直接手写SQL
* 支持返回多个结果集
* 可配置多数据源
* 支持多数据源事务
环境
-------------
- JDK 7
- slf4j
如何使用
-----------------------
* 添加dependency到POM文件:
```
cn.4coder
jdbc
0.0.9
```
* src/main/resources目录下添加jdbc.properties文件:
```
/* 全局属性 */
#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
```
* Spring使用配置:
```
```
* [编码使用](https://gitee.com/yydf/easy-jdbc/wikis/pages)
```
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():
```
* 项目中可继承DaoSupport直接使用
```
public class WeikeDao extends DaoSupport {
public List 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
}
});
}
}
```