zoukankan      html  css  js  c++  java
  • Java泛型在spring jdbc template中的类似应用

    泛型的使用保证返回的对象类型的正确;

    package com.stono.gentest;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class StoryTeller {
    
        public static void main(String[] args) {
            List<Minstrel> story = StoryTemplate.getStory("select",
                    new StoryI<Minstrel>() {
                        @Override
                        public Minstrel getHero(String name) {
                            return new Minstrel(name);
                        }
                    }, 1);
            for (Minstrel minstrel : story) {
                System.out.println(minstrel.getName());
            }
        }
    }
    
    class Minstrel {
        private String name;
    
        public Minstrel(String name) {
            this.name = name;
        }
    
        public String getName() {
            return name;
        }
    
    }
    
    // ==================下面为伪框架部分,以上为伪客户部分;=====================
    // 模版方法按照接口的规则进行泛型对象的创建;按照条件进行组装的逻辑不需要客户端写;
    class StoryTemplate {
        public static <T> List<T> getStory(String str, StoryI<T> t, Object... o) {
            List<T> list = new ArrayList<T>();
            if ("select".equals(str)) {// 类似于jdbc的查询方法;
                String[] strs = { "a", "b" };
                for (String string : strs) {
                    list.add(t.getHero(string));
                }
            }
            return list;
        }
    }
    
    interface StoryI<T> {
        T getHero(String name);// 传入一个参数String,保证返回一个泛型对象,组装逻辑由客户端实现;
    }
  • 相关阅读:
    mysql_pw 指令 数据库创建过程
    node.js+mysql环境搭建
    MySQL 学习
    express 应用创建及app.js详解
    .NET MD5加密解密代码
    Axure 部件的交互样式
    easyUI -messager -消息框
    Window01
    linkbutton
    easyUi-datagrid 真分页 + 工具栏添加控件
  • 原文地址:https://www.cnblogs.com/stono/p/4818195.html
Copyright © 2011-2022 走看看