Overall there are two options: DRDA/DB2 Connect, and the Java Toolbox.
DRDA/DB2 Connect JDBC drivers
Three different ones for different situations.Where the Java is running on IBM i itself
Native DRDA JDBC driver:- no need to put a jar or zip file in your classpath
 - com.ibm.db2.jdbc.app.DB2Driver
 - jdbc:db2:(
database-name-from-WRKRDBDIRE)  
If database is *LOCAL (and potentially if database is on another IBM i system, depending on WRKRDBDIRE configuration) there is no need to specify userid/password.
Where the Java is running on other platforms (chargeable) 
If DB2 Connect client installed 
- db2java.zip
 - COM.ibm.db2.jdbc.app.DB2Driver [note subtle distinction between this and the driver class name mentioned above]
 - jdbc:db2:(name-
from-DB2-Configuration-Assistant)  
Otherwise
- db2jcc.jar plus separate licence jar
 - com.ibm.db2.jcc.DB2Driver
 jdbc:db2://(IBM-i-hostname):50000/(database-name-from-WRKRDBDIRE) 
Wherever the Java is running
Served on IBM i by the *DDM TCP/IP server, unless *LOCAL (and unless WRKRDBDIRE is configured to use SNA).
IBM i Toolbox for Java JDBC driver 
- jt400.jar
 - com.ibm.as400.access.AS400JDBCDriver [sorry, it really is still called that]
 - jdbc:as400:(IBM-i-host-name)
 
