前言:刚接触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()); } }
}

 
 
 
 

MyEclipse 连接Oracle数据库(初学者必看)的更多相关文章

  1. 2018.6.9 MyEclipse连接Oracle数据库方法及步骤

    在windows栏找到showXXX 然后选择最后一个others 找到Database 然后选择oracle 接着就是jar包的问题了 这个不同于mysql oracle如果装在了本机上面可以在文件 ...

  2. MyEclipse用Java语言连接Oracle数据库

    在MyEclipse下Java连接Oracle数据库 第一步:新建Java项目. 填写项目名,其它设置默认,点击完成即可. 新建java类,填写包名和类名,勾选public static void m ...

  3. 15个初学者必看的基础SQL查询语句

    本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...

  4. C# 连接 Oracle数据库增删改查,事务

    一. 前情提要 一般.NET环境连接Oracle数据库,是通过 TNS/SQL.NET 配置文件,而 TNS 必须要 Oracle 客户端(如果连接的是服务器的数据库,本地还要装一个 client , ...

  5. java连接Oracle数据库

    Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...

  6. 记录排查解决Hubble.Net连接Oracle数据库建立镜像库数据丢失的问题

    起因 前几天在弄Hubble连接Oracle数据库,然后在mongodb中建立一个镜像数据库; 发现一个问题,原本数据是11W,但是镜像库中只有6w多条; 刚开始以为是没运行好,又rebuild了一下 ...

  7. JDBC连接Oracle数据库的问题

    场景:最近做一个java web项目,使用jdbc连接Oracle数据库,遇到了两个问题. 问题1:jdbc连接不上Ubuntu Oracle服务器? 后来发现这个问题的原因是由于连接字符串写错了,修 ...

  8. php连接oracle数据库转载

    php连接oracle数据库及查询数据的方法 投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-12-29 这篇文章主要介绍了php连接oracle数据库及查询数据的方法 ...

  9. 向MyEclipse添加Oracle数据库

    向MyEclipse添加Oracle数据库 1.点击下面圈起来的位置,打开MyEclipse database Explorer视图. 2.在如图空白处右击,选择new进入New Database C ...

随机推荐

  1. 【Codeforces Global Round 1 E】Magic Stones

    [链接] 我是链接,点我呀:) [题意] 你可以把c[i]改成c[i+1]+c[i-1]-c[i] (2<=i<=n-1) 问你能不能把每一个c[i]都换成对应的t[i]; [题解] d[ ...

  2. noip模拟赛 fateice-or

    分析:or操作只有在结果的这一位为0的情况下才会强制要求两个数的这一位都为0,其它时候不强求,所以为了最大限度地满足条件,我们先把所有的数的所有位全部变成1,如果p的第i位为0,那么[l,r]的数的第 ...

  3. hdu_2054_A == B_201311301601

    A == B ? Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  4. Oracle-时间与字符串转换

    --UPDATE_TIME 是时间,直接转成字符串 SELECT to_char(MAX(UPDATE_TIME), 'yyyy-mm-dd hh24:mi:ss') as lastUpdateTim ...

  5. supervisord进程管理工具小结

    前言 昨天临近下班,发现业务队列处理不及时,正好想到不久之前,上了一个新功能:通过队列异步转发微信消息.可能是消息太多了处理不过来,没怎么多想,处理不过来了,多增加处理进程就可以了,后来发现自己so ...

  6. 软件测试之怎么避免Bug漏测?

    一.对需求评审阶段,对业务需求细节理解不明确,未深入挖掘隐含拓展需求 改进措施 需求评审前,我们应该先仔细阅读prd及交互文档,先形成自己对产品的思考,通过脑图的方式列出对产品设计的疑问点,从用户或者 ...

  7. Linuxpassword破解及grub加密演示

    password破解及grub加密演示 so easy,不可不会! 原理: 通过进入单用户模式(单用户模式也即是仅仅有一个用户能够訪问资源的状态,且单用户模式就是系统处于最原始的状态,大部分服务还未开 ...

  8. IOS6.0自带下拉刷新控件UIRefreshControl

    1.UIRefreshControl必需要在IOS6.0以后才干使用,同一时候他仅仅能在UITableViewController类中才干够使用 2.使用比較简单 self.refreshContro ...

  9. 【iOS】代理传值与块代码传值

    主线程与子线程常常须要进行数据的传递.不同的类之间,不同的控制器之间都须要. 并且常常须要监听一个动作的完毕.而后才去做对应事件. (代理是一对一的关系). 一.代理传值 代理是一种设计模式. iOS ...

  10. QFileDialog关于选择文件对话框中的几个信号的说明(currentChanged,directoryEntered,fileSelected,filterSelected)

    QFileDialog关于选择文件对话框中的几个信号 实例: openFile::openFile(QWidget *parent) :QWidget(parent),ui(new Ui::openF ...