java第三方连接池_基于jdbc的封装,轻量级映射,自带连接池,无第三方依赖

jdbc-mapper

基于jdbc的封装,支持数据源,配置简单,支持注解sql查询,自带分页查询。

快速开始

引入依赖

com.github.dingey

jdbc-mapper

3.0

配置bean

DataSource dataSource=DefaultDataSource.build("jdbc:mysql://localhost:3306/sys", "root", "root");

JdbcFactory factory = JdbcFactory.build(dataSource);

JdbcMapper mapper = factory.getMapper();

或者

DataSource dataSource=DefaultDataSource.build("jdbc:mysql://localhost:3306/sys", "root", "root");

JdbcMapper mapper = JdbcMapper.build(dataSource);

方法介绍

执行sql语句,返回成功或失败;

boolean execute(String sql)

执行预编译sql语句,返回成功或失败;

boolean execute(String preSql, Object...args)

执行sql语句,返回一条或一列,具体取决于resultClass类型;

T get(String sql, Class resultClass)

执行预编译sql语句,返回一条或一列,具体取决于resultClass类型;

T get(String sql, Class resultClass)

执行sql语句,结果映射为Map,第一列为key,第二列value;

Map listToMap(String sql);

执行预编译的sql语句,结果映射为Map,第一列为key,第二列value;

Map listToMap(String sql, Object... args);

执行sql语句,返回list对象;

List list(String sql, Class resultClass)

执行预编译的sql语句,返回list对象,

List list(String preSql,Class resultClass, Object...args)

插入一条记录,如果需要返回自增主键在主键属性上加@GeneratedValue注解。

void insert(T o)

可选择插入一条记录,忽略null的属性。

void insertSelective(T o)

更新一条记录;

int update(T t)

可选择更新一条记录,忽略null的属性。

int updateSelective(T t)

分页查询

执行分页查询,只支持mysql,oracle。

分页对象

Pager{

List list;

int pageNum;

int pageSize;

long total;

执行sql分页查询

Pager page(String sql, int pageNum, int pageSize, Class resultClass)

执行预编译sql分页查询

Pager page(String preSql, int pageNum, int pageSize, Class resultClass, Object...args)

执行NamedQuery分页查询

Pager pageByNamedQuery(String namedQueryName,Class resultClass,Object... args)

命名查询

执行本地命名查询

@NamedNativeQueries(value = { @NamedNativeQuery(name = "selectAll", query = "select * from person"),

@NamedNativeQuery(name = "selectOne", query = "select * from person where id") })

public class Person {}

可以将sql语句写在类上,方便统一管理。

执行命名语句

boolean executeByNamedQuery(String namedQueryName, Class namedClass, Object... args);

执行命名查询语句

T getByNamedQuery(String namedQueryName, Class namedClass, Object... args);

执行命名语句查询,返回list对象

List listByNamedQuery(String namedQueryName, Class namedClass, Object... args);

事务

DataSource dataSource=DefaultDataSource.build("jdbc:mysql://localhost:3306/sys", "root", "root");

JdbcFactory factory = JdbcFactory.build(dataSource);

JdbcMapper mapper = factory.getMapper();

try {

Man m=new Man();

m.setId(1);

m.setName("b");

mapper.begin();

mapper.insert(m);

m.setName("a");

mapper.update(m);

mapper.commit();

} catch (Exception e) {

e.printStackTrace();

mapper.rollback();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值