工厂模式应用以及Oracle数据库连接

工厂:

package message;

import javax.xml.*;
import org.w3c.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
public class factory {
    private factory() {
    }
    private static factory demo=null;
    public static factory newInstance()
    {
        if(demo==null)
        {
            demo=new factory();

        }

        return demo;
    }
    public Object createInstance(String type)
    {
    String src=System.getProperty("user.dir")+"//WebM//xml//comment.xml";
    try
    {
      javax.xml.parsers.DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
      DocumentBuilder db=dbf.newDocumentBuilder();
      Document doc=db.parse(src);
      Element root=doc.getDocumentElement();
      NodeList list=root.getElementsByTagName("compoment");
      for(int i=0;i<list.getLength();i++)
      {
          Element comElement=(Element)list.item(i);
          String id=comElement.getAttribute("id");
          String ee=comElement.getAttribute("type");
          if(id.equals(type))
          {
             Object demo=Class.forName(type).newInstance();
          }
          break;
      }
      } catch (Exception xxx)
      {
          return null;
      }
      return demo;
      }
}

接口:

package message;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public interface Iuser{

    public void add(User NewUser);
    public void del(String id);
    public void update(User UpdateUser);
    public User getUser(String id);
    public boolean login (User checkUser);

}

描述类:

package message;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class User {
    private String userid;
    private String name;
    private String pwd;
    private String lovname;
    public User() {
    }

    public void setUserid(String userid) {
        this.userid = userid;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public void setLovname(String lovname) {
        this.lovname = lovname;
    }

    public String getUserid() {
        return userid;
    }

    public String getName() {
        return name;
    }

    public String getPwd() {
        return pwd;
    }

    public String getLovname() {
        return lovname;
    }

}

实现了接口的类:

package message;
import message.*;
/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
import java.sql.*;
public class UserManager implements Iuser{
    public UserManager() {
    }

    public void add(User NewUser)
    {
        String userid=NewUser.getUserid();
        String name=NewUser.getName();
        String pwd=NewUser.getPwd();
        String lovname=NewUser.getLovname();
        String sql=String.format("insert into UserMassage values('%s','%s','%s','%s')",userid,name,pwd,lovname);
        message.OracleConn.noRsultBack(sql);
    }

    public void del(String id)
    {
        String sql=String.format("delete from UserMassage where Userid='%s'",id);
        message.OracleConn.noRsultBack(sql);
    }

    public void update(User UpdateUser)
    {
        String userid = UpdateUser.getUserid();
        String name = UpdateUser.getName();
        String pwd = UpdateUser.getPwd();
        String lovname = UpdateUser.getLovname();
        String sql=String.format("update UserMassage set name='%s',pwd='%s',Lovename='%s' where userid='%s'",name,pwd,lovname,userid);
        message.OracleConn.noRsultBack(sql);

    }

    public User getUser(String id)
    {
        String sql=String.format("select * from UserMassage where userid='%s'",id);
        java.sql.ResultSet rs=message.OracleConn.haveRsultBack(sql);
       try{
        User u=new User();
        u.setUserid(rs.getString(1));
        u.setName(rs.getString(2));
        u.setPwd(rs.getString(3));
        u.setLovname(rs.getString(4));
        return u;
       }catch(Exception xx)
       {
       return null;
       }

    }

    public boolean login(User checkUser)
    {

        return true;
    }

}

连接数据库的类:

package message;
import java.sql.*;
public class OracleConn {
    public OracleConn() {
    }
    public static java.sql.ResultSet haveRsultBack(String sql)
    {
        try
        {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            java.sql.Connection conn=java.sql.DriverManager.getConnection("jdbc:oracle:thin:@pub452:1521:Aptech","scott","tiger");
            java.sql.PreparedStatement pr=conn.prepareStatement(sql);
            java.sql.ResultSet rs=pr.executeQuery();
            return rs;
        }
        catch(Exception xx)
        {
            System.out.print(xx.getMessage());
            return null;
        }
    }
    public static void noRsultBack(String sql)
   {
       try
       {
           Class.forName("oracle.jdbc.driver.OracleDriver");
           java.sql.Connection conn=java.sql.DriverManager.getConnection("jdbc:oracle:thin:@pub452:1521:aptech","scott","tiger");
           java.sql.PreparedStatement pr=conn.prepareStatement(sql);
           pr.executeUpdate();
       }
       catch(Exception xx)
       {

       }
   }

}

 

 

http://ljiiiiij.blog.163.com/blog/static/1819541120082834928494/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值