Skip to content

aburke-r7/SimpleFlatMapper

 
 

Repository files navigation

Maven Central JavaDoc License

Java 6Java 7Java 8Java 9-b72

Build Status Coverage Status

Simple Flat Mapper (SFM) Release Notes

SimpleFlatMapper is a library that provide

  • performant
  • easy to use
  • flexible mappers and abstraction to create pull mappers easily.

The main module provides support for

The CsvParser included is also one of the fastest available in java.

There are also modules to support integration with external libraries

The mappers supports

  • Constructor injection
  • Method injection
  • Field injection
  • Value Object support
  • ASM acceleration
  • Sub Object Mapping
  • Tuple support including jOOL tuples ans Fasttuple
  • List and Array mapping
  • No configuration needed

See Property Mapping Wiki for more details.

If you encounter any problem with the mapping don't hesitate to create an issue.

Module
Cassandra Datastax driver Maven Central JavaDoc
jOOQ Maven Central JavaDoc
Poi Excel Spreadsheet Maven Central JavaDoc
Query DSL Maven Central JavaDoc
Spring JDBC Maven Central JavaDoc
SQL2o, no java6 Maven Central JavaDoc

Getting Started

Binaries

The binaries are available in maven central. Maven Central There is a build for

Java 8/9

		<dependency>
			<groupId>org.simpleflatmapper</groupId>
			<artifactId>sfm</artifactId>
			<version>2.7.4</version>
		</dependency>

Java 7

		<dependency>
			<groupId>org.simpleflatmapper</groupId>
			<artifactId>sfm</artifactId>
			<version>2.7.4</version>
			<classifier>jdk17</classifier>
		</dependency>

Java 6

		<dependency>
			<groupId>org.simpleflatmapper</groupId>
			<artifactId>sfm</artifactId>
			<version>2.7.4</version>
			<classifier>jdk16</classifier>
		</dependency>

Jdbc

public class MyDao {
	JdbcMapper<MyObject> mapper =
		JdbcMapperFactory.newInstance().newMapper(MyObject.class);

	public List<MyObject> findAll() throws SQLException {
		try (Connection conn = getConnection();
		     PreparedStatement ps = conn.prepareStatement("select * from my_table");
		     ResultSet rs = ps.executeQuery();) {
			return mapper.stream(rs).collect(Collectors.toList());
		}
	}

}

Csv

CsvParser
        .separator('\t')
        .mapTo(MyObject.class)
        .stream(reader)
        .forEach(System.out::println);

Building it

The build is using Maven.

git clone https://github.com/arnaudroger/SimpleFlatMapper.git
cd SimpleFlatMapper
mvn install

About

Fast and Easy mapping from database and csv to POJO. A java micro ORM, lightweight alternative to iBatis and Hibernate. Fast Csv Parser and Csv Mapper

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.9%
  • Shell 0.1%