2017-05-27 23:54:22 -04:00
package com.moparisthebest.jdbc.codegen ;
2017-06-07 21:29:28 -04:00
import com.moparisthebest.jdbc.Cleaner ;
2017-05-27 23:54:22 -04:00
import com.moparisthebest.jdbc.dto.FieldPerson ;
2017-06-07 21:29:28 -04:00
import com.moparisthebest.jdbc.dto.Person ;
2017-06-09 00:36:41 -04:00
import com.moparisthebest.jdbc.util.ResultSetIterable ;
2017-05-27 23:54:22 -04:00
2017-06-09 00:36:41 -04:00
import java.io.Closeable ;
2017-05-27 23:54:22 -04:00
import java.sql.SQLException ;
2017-06-07 20:30:58 -04:00
import java.sql.Time ;
import java.sql.Timestamp ;
import java.util.* ;
2017-06-12 23:48:54 -04:00
//IFJAVA8_START
import java.util.stream.Stream ;
//IFJAVA8_END
2017-05-27 23:54:22 -04:00
/ * *
* Created by mopar on 5 / 24 / 17 .
* /
@JdbcMapper.Mapper (
// jndiName = "bob",
2017-06-02 00:39:03 -04:00
// databaseType = JdbcMapper.DatabaseType.ORACLE
2017-06-09 00:36:41 -04:00
cachePreparedStatements = JdbcMapper . OptionalBool . FALSE
2017-05-28 22:14:30 -04:00
// , sqlParser = SimpleSQLParser.class
2017-05-27 23:54:22 -04:00
)
2017-06-09 00:36:41 -04:00
public interface PersonDAO extends Closeable {
2017-05-27 23:54:22 -04:00
@JdbcMapper.SQL ( " UPDATE person SET first_name = {firstName} WHERE last_name = {lastName} " )
int setFirstName ( String firstName , String lastName ) ;
@JdbcMapper.SQL ( " UPDATE person SET first_name = {firstName} WHERE person_no = {personNo} " )
void setFirstName ( String firstName , long personNo ) throws SQLException ;
@JdbcMapper.SQL ( " UPDATE person SET first_name = {firstName} WHERE person_no = {personNo} " )
void setFirstNameBlob ( byte [ ] firstName , long personNo ) throws SQLException ;
2017-05-29 18:26:11 -04:00
@JdbcMapper.SQL ( " UPDATE person SET first_name = {firstName} WHERE person_no = {personNo} " )
void setFirstNameBlob ( @JdbcMapper.Blob String firstName , long personNo ) throws SQLException ;
2017-05-27 23:54:22 -04:00
@JdbcMapper.SQL ( " SELECT first_name FROM person WHERE person_no = {personNo} " )
String getFirstName ( long personNo ) throws SQLException ;
2017-06-07 20:30:58 -04:00
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
FieldPerson getPerson ( long personNo , Calendar cal ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
2017-05-27 23:54:22 -04:00
FieldPerson getPerson ( long personNo ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name FROM person WHERE last_name = {lastName} " )
List < FieldPerson > getPeople ( String lastName ) throws SQLException ;
2017-06-02 00:39:03 -04:00
@JdbcMapper.SQL ( " SELECT first_name, last_name FROM person WHERE {last_name not in lastName} " )
List < FieldPerson > getPeople ( String [ ] lastName ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name FROM person WHERE {last_name in lastName} " )
List < FieldPerson > getPeople ( List < String > lastName ) throws SQLException ;
2017-05-27 23:54:22 -04:00
@JdbcMapper.SQL ( " SELECT first_name, last_name FROM person WHERE last_name = {lastName} " )
FieldPerson [ ] getPeopleArray ( String lastName ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name FROM person WHERE last_name = {lastName} " )
Iterator < FieldPerson > getPeopleIterator ( String lastName ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name FROM person WHERE last_name = {lastName} " )
ListIterator < FieldPerson > getPeopleListIterator ( String lastName ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name, person_no FROM person WHERE last_name = {lastName} " )
Map < String , FieldPerson > getPersonMap ( String lastName ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name, person_no FROM person WHERE last_name = {lastName} " )
Map < String , List < FieldPerson > > getPersonMapList ( String lastName ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name FROM person WHERE person_no = {personNo} and last_name = {lastName} " )
String getFirstName ( long personNo , String lastName ) throws SQLException ;
2017-06-07 20:30:58 -04:00
// various date checks here
@JdbcMapper.SQL ( " SELECT birth_date FROM person WHERE person_no = {personNo} " )
Calendar getBirthDateCalendar ( long personNo ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT birth_date FROM person WHERE person_no = {personNo} " )
Calendar getBirthDateCalendar ( long personNo , Calendar mycal ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT birth_date FROM person WHERE person_no = {personNo} " )
Timestamp getBirthDateTimestamp ( long personNo ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT birth_date FROM person WHERE person_no = {personNo} " )
Timestamp getBirthDateTimestamp ( long personNo , Calendar mycal ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT birth_date FROM person WHERE person_no = {personNo} " )
Time getBirthDateTime ( long personNo ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT birth_date FROM person WHERE person_no = {personNo} " )
Time getBirthDateTime ( long personNo , Calendar mycal ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT birth_date FROM person WHERE person_no = {personNo} " )
java . sql . Date getBirthDateSqlDate ( long personNo ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT birth_date FROM person WHERE person_no = {personNo} " )
java . sql . Date getBirthDateSqlDate ( long personNo , Calendar mycal ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT birth_date FROM person WHERE person_no = {personNo} " )
java . util . Date getBirthDateUtilDate ( long personNo ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT birth_date FROM person WHERE person_no = {personNo} " )
java . util . Date getBirthDateUtilDate ( long personNo , Calendar mycal ) throws SQLException ;
2017-06-07 21:29:28 -04:00
// cleaner checks
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
FieldPerson getPersonCleanFieldPerson ( long personNo , Cleaner < FieldPerson > clean ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
FieldPerson getPersonCleanPerson ( long personNo , Cleaner < Person > clean ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
FieldPerson getPersonCleanObject ( long personNo , Cleaner < Object > clean ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
List < FieldPerson > getPersonCleanPersonList ( long personNo , Cleaner < Person > clean ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
Map < String , FieldPerson > getPersonCleanPersonMap ( long personNo , Cleaner < Person > clean ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
Map < String , List < FieldPerson > > getPersonCleanPersonMapList ( long personNo , Cleaner < Person > clean ) throws SQLException ;
/ *
// this should NOT compile:
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
FieldPerson getPersonCleanNumber ( long personNo , Cleaner < Number > clean ) throws SQLException ;
* /
2017-06-08 00:09:00 -04:00
// max row checks
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
2017-06-08 01:27:56 -04:00
Map < String , FieldPerson > getPersonDynamicLimit ( long personNo , byte maxRows ) throws SQLException ;
2017-06-08 00:09:00 -04:00
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
Map < String , FieldPerson > getPersonDynamicLimit ( long personNo , short arrayMaxLength ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
2017-06-08 01:27:56 -04:00
List < FieldPerson > getPersonDynamicLimit ( long personNo , int maxRows ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " )
2017-06-08 00:09:00 -04:00
Map < String , List < FieldPerson > > getPersonDynamicLimit ( long personNo , long rowLimit ) throws SQLException ;
2017-06-08 01:27:56 -04:00
@JdbcMapper.SQL ( value = " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " , maxRows = Byte . MAX_VALUE )
List < FieldPerson > getPersonStaticLimitListByte ( long personNo ) throws SQLException ;
@JdbcMapper.SQL ( value = " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " , maxRows = Short . MAX_VALUE )
2017-06-08 00:09:00 -04:00
List < FieldPerson > getPersonStaticLimitList ( long personNo ) throws SQLException ;
2017-06-08 01:27:56 -04:00
@JdbcMapper.SQL ( value = " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " , maxRows = Integer . MAX_VALUE )
2017-06-08 00:09:00 -04:00
Map < String , FieldPerson > getPersonStaticLimitMap ( long personNo ) throws SQLException ;
2017-06-08 01:27:56 -04:00
@JdbcMapper.SQL ( value = " SELECT first_name, last_name, birth_date FROM person WHERE person_no = {personNo} " , maxRows = Long . MAX_VALUE )
2017-06-08 00:09:00 -04:00
Map < String , List < FieldPerson > > getPersonStaticLimitMapList ( long personNo ) throws SQLException ;
2017-06-09 00:36:41 -04:00
@JdbcMapper.SQL ( " SELECT person_no, birth_date, last_name, first_name from person WHERE person_no IN ({personNo1},{personNo2},{personNo3}) ORDER BY person_no " )
List < FieldPerson > getPeopleList ( long personNo1 , long personNo2 , long personNo3 ) throws SQLException ;
@JdbcMapper.SQL ( " SELECT person_no, birth_date, last_name, first_name from person WHERE person_no IN ({personNo1},{personNo2},{personNo3}) ORDER BY person_no " )
ResultSetIterable < FieldPerson > getPeopleResultSetIterable ( long personNo1 , long personNo2 , long personNo3 ) throws SQLException ;
@JdbcMapper.SQL ( value = " SELECT person_no, birth_date, last_name, first_name from person WHERE person_no IN ({personNo1},{personNo2},{personNo3}) ORDER BY person_no " , cachePreparedStatement = JdbcMapper . OptionalBool . TRUE )
ResultSetIterable < FieldPerson > getPeopleResultSetIterableCachedPreparedStatement ( long personNo1 , long personNo2 , long personNo3 ) throws SQLException ;
2017-06-12 23:48:54 -04:00
//IFJAVA8_START
@JdbcMapper.SQL ( " SELECT person_no, birth_date, last_name, first_name from person WHERE person_no IN ({personNo1},{personNo2},{personNo3}) ORDER BY person_no " )
Stream < FieldPerson > getPeopleStream ( long personNo1 , long personNo2 , long personNo3 ) throws SQLException ;
@JdbcMapper.SQL ( value = " SELECT person_no, birth_date, last_name, first_name from person WHERE person_no IN ({personNo1},{personNo2},{personNo3}) ORDER BY person_no " , cachePreparedStatement = JdbcMapper . OptionalBool . TRUE )
Stream < FieldPerson > getPeopleStreamCachedPreparedStatement ( long personNo1 , long personNo2 , long personNo3 ) throws SQLException ;
//IFJAVA8_END
2017-05-27 23:54:22 -04:00
}