-
Notifications
You must be signed in to change notification settings - Fork 10
JdbcUtil and CSVUtil
landawn edited this page May 2, 2018
·
2 revisions
JdbcUtil/CSVUtil provides the methods to create data source (manager), prepare/execute statement, import/export data with (CSV/JSON) format...:
- create data source (manager) with xml configuration. Here is the schema: DataSource.xsd
<?xml version="1.0" encoding="UTF-8"?>
<dataSourceManager liveEnv="dev">
<dataSource name="codes" env="dev">
<sqlLog>true</sqlLog>
<connection>
<driver>org.h2.Driver</driver>
<url>jdbc:h2:tcp://localhost/~/codes</url>
<user>SA</user>
<password></password>
<liveTime>86400000</liveTime>
<maxIdleTime>1800000</maxIdleTime>
<maxActive>100</maxActive>
</connection>
</dataSource>
</dataSourceManager>
static final String dataSourcePath = "./resources/config/abacus/h2_dataSource.xml";
static final DataSourceManager dsm = JdbcUtil.createDataSourceManager(dataSourcePath);
static final DataSource ds = dsm.getPrimaryDataSource();
// Or: static final DataSource ds = JdbcUtil.createDataSource(dataSourcePath);
static final SQLExecutor sqlExecutor = new SQLExecutor(ds);
- export/import to/from CSV
sqlExecutor.batchInsert(INSERT_ACCOUNT, accounts);
Connection conn = sqlExecutor.getConnection();
File file = new File("./unittest/test.csv");
String sql = "SELECT first_name, last_name, gui, last_update_time, create_time FROM account";
CSVUtil.exportCSV(file, conn, sql);
sqlExecutor.batchUpdate(DELETE_ACCOUNT_BY_ID, accounts);
List<Type<Object>> types = N.getType(String.class, String.class, String.class, Timestamp.class, Timestamp.class);
sql = "INSERT INTO account (first_name, last_name, gui, last_update_time, create_time) VALUES ( ?, ?, ?, ?, ?)";
CSVUtil.importCSV(file, conn, sql, types);
It's easy/simple to handle huge data with SQLExecutor and JdbcUtil/CSVUtil (through CSV file or DataSet)
- How to Learn/Use the APIs correctly and efficiently
- Programming in RDBMS with Jdbc/PreparedQuery/SQLExecutor/Mapper/Dao
- JSON/XML Parser
- SQLite Executor
- SQL Executor
- SQL Builder
- SQL Mapper
- DataSet
- JdbcUtil/CSVUtil
- IOUtil
- PrimitiveList
- Profiler
- Http Client
- Web Services
- Programming in Android
- Parse/Analyze/Operate (Big) Data (on N servers in parallel)
- Code Generation
- Introduction to JDBC
- Naming Convention
- Partitioning/Distribution
- SQL/NoSQL
- Model/Entity