Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.j256.ormlite.examples.datapersister;
  
  import static org.junit.Assert.assertEquals;
  import static org.junit.Assert.assertNull;
  
  import java.util.Date;
  
  
Main sample routine to show how to define custom data persisters for tuning how ORMLite writes and reads stuff from the database.

NOTE: We use asserts in a couple of places to verify the results but if this were actual production code, we would have proper error handling.

 
 public class DataPersisterMain {
 
 	// we are using the in-memory H2 database
 	private final static String DATABASE_URL = "jdbc:h2:mem:user";
 
 	private Dao<UserIntegeruserDao;
 
 	public static void main(String[] argsthrows Exception {
 		// turn our static method into an instance of Main
 		new DataPersisterMain().doMain(args);
 	}
 
 	private void doMain(String[] argsthrows Exception {
 		JdbcConnectionSource connectionSource = null;
 		try {
 			// create our data-source for the database
 			connectionSource = new JdbcConnectionSource();
 			// setup our database and DAOs
 			setupDatabase(connectionSource);
 			// read and write some data
 			..println("\n\nIt seems to have worked\n\n");
 		} finally {
 			// destroy the data source which should close underlying connections
 			if (connectionSource != null) {
 				connectionSource.close();
 			}
 		}
 	}

Setup our database and DAOs
 
 	private void setupDatabase(ConnectionSource connectionSourcethrows Exception {
 
 		/*
 		 * We register our own persister for DateTime objects. ORMLite actually has a built in one but it has to use
 		 * reflection.
 		 */
 		DataPersisterManager.registerDataPersisters(DateTimePersister.getSingleton());
 
 		 = DaoManager.createDao(connectionSourceUser.class);
 
 		// if you need to create the table
 		TableUtils.createTable(connectionSourceUser.class);
 	}

Read and write some example data.
 
 	private void readWriteData() throws Exception {
 		// create an instance of User
 		String name = "Jim Coakley";
 		Date birthDate = new Date();
 		DateTime createDateTime = new DateTime().plusDays(10);
 		User user = new User(namebirthDatecreateDateTime);
 
 		// persist the user object to the database
 		.create(user);
 
 		// if we get the user from the database then we should
 		User result = .queryForId(user.getId());
 		// our result birth-date should now be null because it is too early
 		assertEquals(birthDateresult.getBirthDate());
 		assertEquals(createDateTimeresult.getCreateDateTime());
 
 		// to simulate a 'zero-date' we update the database by hand
 		// set it to some silly value
 		assertEquals(1, ub.update());
 
 		// now we pull back out the user to see if we get a null birth-date
		result = .queryForId(user.getId());
		// our result birth-date should now be null because it is too early
	}
New to GrepCode? Check out our FAQ X