JRower is a tool for loading relational database tables from flat files. It is useful in situations where your database table undergoes periodic refreshes from an Excel spread sheet or other data file. You supply a XML file describing the fields in the file and their mapping to the database table columns and JRower performs the load. The data file can be a text file in CSV, delimited, fixed length, or Excel format. The XML file can also specify validations that the input data must pass before it is inserted to the database. A command line tool for running JRower is provided and also a Servlet for running JRower from a web page. JRower can also be embedded in your own Java program. Currently only Oracle is supported.
True, later versions of Oracle allow you to treat a flat file as a database, and of course SQLLoader is also available to load flat files. However, the need JRower was written to address is where you want to give the end user the ability to "upload" their spreadsheet to a database through a friendly user interface. The user interface does some data validation before accepting the data. Additionally there may be many user's who's spreadsheets may only be a sub-set of the database rows. In the "Bowling Team" example each team captain uploads only the data for his team to a database of all teams. The end user can't replace the entire database at will, but can only execute limited load logic that has been setup in advance by the programmer or DBA. The load logic is saved in XML files, that can be added or edited without deploying new code. The point of JRower is to give Java programmers, in the words of another poster, "a SQLLoader-type API", that they can use to create user interfaces to allow end users to "upload" their spreadsheets.