# easy-jdbc
**Repository Path**: nzj/easy-jdbc
## Basic Information
- **Project Name**: easy-jdbc
- **Description**: 一个简单、快速,支持高并发的jdbc,内含连接池,最新版本1.0.6,目前只支持MySQL数据库。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 19
- **Created**: 2018-03-31
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# easy-fast-jdbc
一个支持高并发的jdbc链接池,体积小、速度快,目前只支持mysql
### ChangeLog
点击查看更新日志
### Discussing
* 提交issue
* 交流群616698275 答案easy
* email:441430565@qq.com
### MySql配置
请将mysql的wait_timeout设置尽可能小,如wait_timeout=32
max_connections=1000
### jdbc.properties配置
datasource.maxActive=16 为连接不够时,最大允许上限
easy-fast-jdbc会根据调用频率,自动增加连接
datasource.maxIdle=2 为初始化连接数
请将jdbc.properties放在src目录下,不然无法读取配置
### 初始化
JDBCDataSource dataSource = JDBCDataSource.getInstance(); FastSession session = FastSession.getInstence(dataSource);### 使用session
//查询列表
session.Query(GnqBrowseRecord.class, "select * from gnq_browse_record");
//查询单条
session.Single(GnqBrowseRecord.class, "select * from gnq_browse_record where browse_id=?", 1);
//查询单列
session.QueryList("select browse_id from gnq_browse_record");
//查询单值
session.getSingle("select browse_id from gnq_browse_record where browse_id=?", 1);
//查询键值对
session.QueryMap("select browse_id,browse_num from gnq_browse_record");
//增、删、改
GnqBrowseRecord gbr = new GnqBrowseRecord();
gbr.setUserId(1);
gbr.setTargetId(2);
gbr.setBrowseNum(1);
gbr.setBrowseTime(new Date());
gbr.setTargetType(0);
session.save(gbr); //保存对象
System.out.println("browse_id =========" + gbr.getBrowseId());
gbr.setBrowseId(gbr.getBrowseId());
session.update(gbr, false); //通过主键更新所有字段
session.updateNotNull(gbr); //通过主键更新不为NULL字段
session.delete(gbr); //通过所有不为NULL字段删除记录
//执行SQL
session.Execute("delete from gnq_browse_record where browse_id=?", 1);
//批量执行SQL
List sqls = new ArrayList<>();
sqls.add(Sql.parse("delete from gnq_browse_record where browse_id=?", 1));
sqls.add(Sql.parse("delete from gnq_browse_record where browse_id=?", 2));
session.execute(sqls, true); //在同一事务中执行
### 事务处理
// 批量事务处理
Connection conn = null;
try
{
//获取事务连接
conn = session.getConnection();
Object obj = session.getSingle(conn, "select browse_id from gnq_browse_record where browse_id=18");
session.Execute(conn, "delete from gnq_browse_record where browse_id=?", obj);
conn.commit();//最后事务必须提交,否则会产生未知错误
}
catch (SQLException e)
{
//回滚
JDBCDataSource.rollback(conn);
logger.error("执行事务失败", e);
}
finally
{
// 必须关闭连接
JDBCDataSource.close(conn);
}
### DEMO
demo在test包下JDBCDataSource dataSource = JDBCDataSource.getInstance();
JDBCDataSource dataSource2 = JDBCDataSource.getInstance("jdbc2.properties");
FastSession session = FastSession.getInstence(dataSource);
FastSession session2 = FastSession.getInstence(dataSource2);