• 反射在数据库读写中的应用


    MySQLDao.java

    package cn.sgy.reflection1.exer;
    
    
    public class MySQLDao implements Dao{
    
    
        @Override
        public void insert(User user) {
            System.out.println("向MySQL插入用户对象:"+ user.getName());
        }
    
        @Override
        public void delete(User user) {
            System.out.println("从MySQL中删除用户对象:"+ user.getName());
        }
        
        
    
    }

    User.java

    package cn.sgy.reflection1.exer;
    
    import java.sql.Date;
    
    public class User {
    
        
        
        private String name;
        private int age;
        private char gender;
        private Date birth;
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public char getGender() {
            return gender;
        }
        public void setGender(char gender) {
            this.gender = gender;
        }
        public Date getBirth() {
            return birth;
        }
        public void setBirth(Date birth) {
            this.birth = birth;
        }
        
        
        
    }

    OracleDao.java

    package cn.sgy.reflection1.exer;
    
    public class OracleDao implements Dao{
    
        @Override
        public void insert(User user) {
            System.out.println("向Oracle中插入用户:"+ user.getName());
        }
    
        @Override
        public void delete(User user) {
            System.out.println("从Oracle中删除用户:"+ user.getName());
        }
    
    }

    Service.java

    package cn.sgy.reflection1.exer;
    
    
    public class Service {
    
        private Dao dao = DaoFactory.getFactory().getDaoInsance();
    
        public void insert() {
    
            User user = new User();
    
            dao.insert(user);
        }
    
        public void delete() {
    
            User user = new User();
            dao.delete(user);
    
        }
    
        public static void main(String[] args) throws Exception {
    
            while (true) {
                Service s = new Service();
    
                s.insert();
    
                Thread.sleep(10000);
            }
        }
    
    }

    DaoFactory.java

    package cn.sgy.reflection1.exer;
    
    import java.io.FileInputStream;
    import java.util.Properties;
    
    
    
    //工厂模式
    public class DaoFactory {
    
        
        private static DaoFactory factory = new DaoFactory();
        
        private Properties p = new Properties();
        
        private DaoFactory() {
            
        }
        
        public static DaoFactory getFactory() {
             
            return factory ;
            
        }
        
        @SuppressWarnings("unchecked")
        public Dao getDaoInsance() {
            try {
                p.load(new FileInputStream("config.properties"));
                
                String name =  p.getProperty("Dao");
                
                Class<Dao> clz = (Class<Dao>) Class.forName(name);
                
                return  clz.newInstance();
                
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
        
        
    }
  • 相关阅读:
    HDU 2073 无限的路
    HDU 2080 夹角有多大II
    if
    HDU 2094 产生冠军
    HDU 2076 夹角有多大(题目已修改,注意读题)
    HDU 2086 A1 = ?
    HDU 2069 Coin Change
    HDU 2095 find your present (2)
    android常用开发工具的用法
    android安装前期遇到的问题
  • 原文地址:https://www.cnblogs.com/songyao2018/p/8424890.html
Copyright © 2020-2023  润新知