MyEclipse 鏈接Oracle數據庫(初學者必看)

前言:剛接觸Oracle數據庫,便有一個需求,編寫控制檯程序,實現主人登陸。數據庫爲Oracle。下面詳細介紹一下MyEclipse 鏈接Oracle數據庫。

 

 
package DbHelp;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import oracle.jdbc.driver.OracleDriver;

/**
 * 數據庫鏈接幫助類
 * @author zql_pc
 *
 */
public class DbHelp {

    /*
     * 數據庫鏈接
     */
    public static Connection lianjie(){
        
        //數據庫配置
        String driver = "oracle.jdbc.driver.OracleDriver";//驅動
        String url = "jdbc:oracle:thin:@localhost:1521:JBITDB";
        String user = "epet";
        String pwd = "123456";
        
        try {
            //第一步:加載驅動
            Class.forName(driver);// -->反射
            
            Connection conn = DriverManager.getConnection(url,user,pwd);
            
            return conn;
            
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        
        return null;
    }
}
/**
 * 寵物實體類
 * @author zql_pc
 *
 */
public class pet {

    private int id;

    private String name;
    private int health;
    private int love;
    private String type;
    private String adoptTime;
    
    public pet(){
        
    }
    
    public pet(int id, String name, int health, int love, String type,
            String adoptTime) {
        super();
        this.id = id;
        this.name = name;
        this.health = health;
        this.love = love;
        this.type = type;
        this.adoptTime = adoptTime;
    }
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getHealth() {
        return health;
    }
    public void setHealth(int health) {
        this.health = health;
    }
    public int getLove() {
        return love;
    }
    public void setLove(int love) {
        this.love = love;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getAdoptTime() {
        return adoptTime;
    }
    public void setAdoptTime(String adoptTime) {
        this.adoptTime = adoptTime;
    }

    @Override
    public String toString() {
        return "pet [adoptTime=" + adoptTime + ", health=" + health + ", id="
                + id + ", love=" + love + ", name=" + name + ", type=" + type
                + "]";
    }
    
    
}

 

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

import org.junit.Test;

import DbHelp.DbHelp;
/**
 * 登錄
 * @author zql_pc
 *
 */
public class login {
    
    @Test
    public void show(){
        Scanner input = new Scanner(System.in);
        
        //調用DbHelp類的鏈接數據庫方法獲取connection對象
        Connection conn = DbHelp.lianjie();
        
        System.out.println("----歡迎光臨寵物樂園----");
        System.out.print("請輸入登陸名:");
        
        //控制檯輸入的用戶名
        String name = input.next();
        
        System.out.print("請輸入密碼:");
        
        //控制檯輸入的密碼
        String pwd = input.next();
        
        //sql
        String sql = "select * from master where loginid= ?  and password = ?";
        
        PreparedStatement pst = null;
        
        ResultSet rs = null;
        
        //預編譯操做數據庫
        try {
            pst =  conn.prepareStatement(sql);
            
            pst.setString(1,name);
            pst.setString(2, pwd);
            
            rs = pst.executeQuery();
            
            if(rs.next()){
                System.out.println("登錄成功!");
            }else{
                System.out.println("登錄失敗!");
            }
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
}

 

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

import org.junit.Test;

import DbHelp.DbHelp;

/**
 * 領養寵物類
 * @author zql_pc
 *
 */
public class adoptPet {

    Scanner input = new Scanner(System.in);
    
    
    public void show() throws SQLException{
        
        System.out.println("----歡迎光臨寵物樂園----");
        
        //獲取數據庫鏈接
        Connection conn = DbHelp.lianjie();
        
        System.out.print("請輸入要領養的寵物名字:");
        String name = input.next();
        
        System.out.println("請輸入領養寵物類型(1、狗狗  2、企鵝):");
        int type = input.nextInt();
        
        String sql = "insert into pet values(4,1,?,?,100,100,null,null,null,to_date('2015-1-5','yyyy-mm-dd'),1)";
        
        PreparedStatement pst = conn.prepareStatement(sql);
        
        pst.setString(1, name);
        pst.setInt(2, type);
        
        int num = pst.executeUpdate();
        
        if(num>0){
            System.out.println("領養成功!");
        }else{
            System.out.println("領養失敗!!");
        }
        
        //關閉省
    }
    
    //打印狗狗信息
    @Test
    public void show1(){
        
        Connection conn = DbHelp.lianjie();
        Statement st =null;
        List<pet> list = null;
        try {
            st = conn.createStatement();
            
            String sql = "select id,name,health,love,decode(type_id,1,'正常',2,'禁用'),to_char(adopt_time,'yyyy-mm-dd') from pet";
            
            ResultSet rs = st.executeQuery(sql);
            
            list = new ArrayList<pet>();
            
            while(rs.next()){
                pet pet = new pet(rs.getInt(1),rs.getString(2),rs.getInt(3),rs.getInt(4),rs.getString(5),rs.getString(6));
                list.add(pet);
            }
            
        } catch (SQLException e) {
            e.printStackTrace();
        }
        
        System.out.println("----主人領養的全部寵物類型----");
        System.out.println("ID\t寵物名\t健康值\t親密度\t狀態\t領養時間");
        System.out.println("-----------------------------------------");
        
        Iterator<pet> i = list.iterator();
        
        while(i.hasNext()){
            
            pet pet1 = i.next();
            
            System.out.println(pet1.getId()+"\t"+pet1.getName()+"\t"+pet1.getHealth()+"\t"+pet1.getLove()+"\t"+pet1.getType()+"\t"+pet1.getAdoptTime());
            
        }
        
    }
}

相關文章
相關標籤/搜索