Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void genericProcedure(Connection conn, String functionName, PlsqlParameter ... queryParams) throws Exception
- public class InPlsqlParameter <T> implements PlsqlParameter {
- ItemContainer<T> item;
- public InPlsqlParameter() {
- super();
- }
- public InPlsqlParameter(T item) {
- super();
- this.item = new SingleItem<T>(item);
- }
- public InPlsqlParameter(ItemContainer<T> item) {
- super();
- this.item = item;
- }
- public void setParameter(int parameterIndex, CallableStatement cstm)
- throws SQLException {
- cstm.setObject(parameterIndex, item!=null ? item.getObject() : null);
- }
- public ItemContainer<?> getItemFromStatement(int parameterIndex,
- CallableStatement cstm) throws Exception {
- return null;
- }
- }
- public class ListItem <T extends Arrayable> extends ItemContainer<T> {
- private List<T> listItem;
- private String oracleTypeName;
- public ListItem(Class<T> inferedClass, String oracleTypeName) {
- super();
- super.inferedClass = inferedClass;
- this.oracleTypeName = oracleTypeName;
- }
- public ListItem(List<T> listItem, String oracleTypeName) {
- super();
- this.listItem = listItem;
- this.oracleTypeName = oracleTypeName;
- }
- @Override
- public int getOracleType() {
- return OracleTypes.ARRAY;
- }
- @Override
- public T getObject() {
- return null;
- }
- @Override
- public List<T> getList() {
- return listItem;
- }
- @Override
- public void setOutParameter(int parameterIndex, CallableStatement cstm) throws SQLException {
- cstm.registerOutParameter(parameterIndex, getOracleType(), oracleTypeName);
- }
- @Override
- public ItemContainer<T> getObjectFromStatement(int parameterIndex,
- CallableStatement cstm) throws Exception {
- listItem = LazyJdbcDAO.getListFromSqlArray(cstm.getArray(parameterIndex), getGenericClass());
- return this;
- }
- }
- public class SingleItem <T> extends ItemContainer<T> {
- private T item;
- public SingleItem(Class<T> inferedClass) {
- super();
- super.inferedClass = inferedClass;
- }
- public SingleItem(T item) {
- super();
- this.item = item;
- }
- @Override
- public int getOracleType() {
- return LazyJdbcDAO.getOracleTypes(getGenericClass());
- }
- @Override
- public T getObject() {
- return item;
- }
- @Override
- public void setOutParameter(int parameterIndex, CallableStatement cstm) throws SQLException {
- cstm.registerOutParameter(parameterIndex, this.getOracleType());
- }
- @Override
- @SuppressWarnings("unchecked")
- public ItemContainer<T> getObjectFromStatement(int parameterIndex, CallableStatement cstm) throws SQLException {
- item = (T)cstm.getObject(parameterIndex);
- //You can use this from JDK 1.7:
- //cstm.getObject(1, t);
- return this;
- }
- @Override
- public List<T> getList() {
- return null;
- }
- }
- public class ListItem <T extends Arrayable> extends ItemContainer<T> {
- private List<T> listItem;
- private String oracleTypeName;
- public ListItem(Class<T> inferedClass, String oracleTypeName) {
- super();
- super.inferedClass = inferedClass;
- this.oracleTypeName = oracleTypeName;
- }
- public ListItem(List<T> listItem, String oracleTypeName) {
- super();
- this.listItem = listItem;
- this.oracleTypeName = oracleTypeName;
- }
- @Override
- public int getOracleType() {
- return OracleTypes.ARRAY;
- }
- @Override
- public T getObject() {
- return null;
- }
- @Override
- public List<T> getList() {
- return listItem;
- }
- @Override
- public void setOutParameter(int parameterIndex, CallableStatement cstm) throws SQLException {
- cstm.registerOutParameter(parameterIndex, getOracleType(), oracleTypeName);
- }
- @Override
- public ItemContainer<T> getObjectFromStatement(int parameterIndex,
- CallableStatement cstm) throws Exception {
- listItem = LazyJdbcDAO.getListFromSqlArray(cstm.getArray(parameterIndex), getGenericClass());
- return this;
- }
- }
Add Comment
Please, Sign In to add comment