jdbc-mapper

jdbc-mapper util

License

License

GroupId

GroupId

com.github.dingey
ArtifactId

ArtifactId

jdbc-mapper
Last Version

Last Version

3.0
Release Date

Release Date

Type

Type

jar
Description

Description

jdbc-mapper
jdbc-mapper util
Project URL

Project URL

https://github.com/dingey/jdbc-mapper
Source Code Management

Source Code Management

https://github.com/dingey/jdbc-mapper

Download jdbc-mapper

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.dingey/jdbc-mapper/ -->
<dependency>
    <groupId>com.github.dingey</groupId>
    <artifactId>jdbc-mapper</artifactId>
    <version>3.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.dingey/jdbc-mapper/
implementation 'com.github.dingey:jdbc-mapper:3.0'
// https://jarcasting.com/artifacts/com.github.dingey/jdbc-mapper/
implementation ("com.github.dingey:jdbc-mapper:3.0")
'com.github.dingey:jdbc-mapper:jar:3.0'
<dependency org="com.github.dingey" name="jdbc-mapper" rev="3.0">
  <artifact name="jdbc-mapper" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.dingey', module='jdbc-mapper', version='3.0')
)
libraryDependencies += "com.github.dingey" % "jdbc-mapper" % "3.0"
[com.github.dingey/jdbc-mapper "3.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

jdbc-mapper

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

快速开始

引入依赖

<dependency>
<groupId>com.github.dingey</groupId>
<artifactId>jdbc-mapper</artifactId>
<version>3.0</version>
</dependency>

配置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<T> resultClass)

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

T get(String sql, Class<T> resultClass)

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

Map<Object,Object> listToMap(String sql);

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

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

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

List<T> list(String sql, Class<T> resultClass)

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

List<T> list(String preSql,Class<T> 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<T> list;
	int pageNum;
	int pageSize;
	long total;
}

执行sql分页查询

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

执行预编译sql分页查询

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

执行NamedQuery分页查询

Pager<T> pageByNamedQuery(String namedQueryName,Class<T> 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<T> namedClass, Object... args);

执行命名查询语句

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

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

List<T> listByNamedQuery(String namedQueryName, Class<T> 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();
}

Versions

Version
3.0
2.0
1.2
1.1
1.0