• oracle链接数据库并向tableone插入中一条数据
package com.zjw.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement; public class mydbbase { private Connection conn;
private String oracleUrl="jdbc:oracle:thin:@localhost:1521:orcl";
//private String mysqlUrl="jdbc:mysql://localhost:3306//mysql";
private String username = "u1";
private String password = "Admin123";
public mydbbase(){
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
DriverManager.setLoginTimeout(0);
conn = DriverManager.getConnection(oracleUrl,username,password); Statement stmt = conn.createStatement();
String sql = "insert into tableone(id,name,sex,age) values(1,'jiewei','男','23') ";
stmt.executeUpdate(sql);
conn.commit();
stmt.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
mydbbase mb = new mydbbase();
} }
  • 查询数据库中tableone的数据
package com.zjw.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class mydbbase { private Connection conn;
private String oracleUrl="jdbc:oracle:thin:@localhost:1521:orcl";
//private String mysqlUrl="jdbc:mysql://localhost:3306//mysql";
private String username = "u1";
private String password = "Admin123";
public mydbbase(){
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
DriverManager.setLoginTimeout(0);
conn = DriverManager.getConnection(oracleUrl,username,password); Statement stmt = conn.createStatement();
//插入语句
//String sql = "insert into tableone(id,name,sex,age) values(1,'jiewei','男','23') ";
//String sql = "delete from tableone where id=1";
//stmt.executeUpdate(sql);
//查询语句
String sqlSelect = "select * from tableone";
ResultSet rs = stmt.executeQuery(sqlSelect);
while(rs.next()){
System.out.print(rs.getInt("id")+" ");
System.out.print(rs.getString("name")+" ");
System.out.print(rs.getString("sex")+" ");
System.out.print(rs.getString("age")+" ");
}
conn.commit();
stmt.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
mydbbase mb = new mydbbase();
} }
  • 用 preparedStatement来进行增删改查

    //用preparedStatement来进行增删改查
    public static boolean auth(String name,String password){
    conn = getConnection();
    try {
    PreparedStatement pstmt = conn.prepareStatement("select * from tableone " + "where name=? and password = ?");
    pstmt.setString(1, name);
    pstmt.setString(2, password);
    ResultSet rs = pstmt.executeQuery();
    if(rs.next()){
    return true;
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return false;
    }

    解决了当对象没有被NEW 的时候,去setid会出现空指针。

    public userTableDaoBean selector(String where) {
    PreparedStatement ps;
    userTableDaoBean ub = new userTableDaoBean();
    try {
    String sql = "select * from usertable where id=?";
    ps = conn.prepareStatement(sql);
    ps.setInt(1, Integer.parseInt(where));
    ResultSet rs = ps.executeQuery();
    if(rs.next()){
    ub.setId(rs.getInt("id"));
    ub.setName(rs.getString("name"));
    ub.setSex(rs.getString("sex"));
    ub.setAge(rs.getString("age"));
    }
    rs.close();
    ps.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return ub;
    }
    像这个方法,new userTableDaoBean()如果写成null,容易出现空指针。

培训第四天-----jdbc连接oracle的更多相关文章

  1. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

  2. Linux(Centos)下jdbc连接oracle速度超慢的问题

    最近在centos下写个java swing程序,发现在linux用jdbc连接oracle及其缓慢,还经常失败.但是同样的程序在windows下运行就连接的非常快.网上搜索了很长时间都和我这情况没关 ...

  3. jdbc 连接 oracle rac

    jdbc 连接 oracle rac 的连接串如下:   jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192. ...

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

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

  5. JDBC连接Oracle数据库时出现的ORA-12505错误及解决办法

    转载至http://www.blogjava.net/itspy/archive/2007/12/20/169072.html Oracle 问题描述:今天使用jdbc连接oracle 10.2.0. ...

  6. jdbc连接oracle数据库问题

    下面是JDBC连接oracle数据库流程: String dbURL = "jdbc:oracle:thin:@url:1521:service_name"; String use ...

  7. JDBC 连接Oracle 数据库,JDBC 连接Mysql 数据库

    首先是JDBC 连接Oracle  数据库 package com.util; import com.pojo.UserInfo; import java.sql.*; public class DB ...

  8. JAVA通过JDBC连接Oracle数据库详解【转载】

    JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...

  9. JDBC连接ORACLE无法登陆java.sql.SQLException: ORA-01017: invalid username/password; logon denied

    当用jdbc连接Oracle数据库的时候 private Connection getConnection() throws SQLException { OracleDataSource ods = ...

随机推荐

  1. django中间件

    django的中间件就是一个对整体请求过程的装饰器,可以对请求到达view之前,view处理和响应后,通过定义process_request,process_view,process_response ...

  2. java虚拟机之垃圾回收算法

    标记-清除算法: 这是最基础的,就是之前所讲的两次标记,首先标记出所有 需要回收的对象,然后进行统一清除, 这有两缺点:一是效率低,标记和清除(开启低优先级进行回收)都是低效率的.第二是空间问题,标记 ...

  3. Java8新特性--lamada详解

    最近玩了一下这个,感觉挺有趣的,语法使用起来很简洁,让代码看起来挺清爽易读的. 看了一下源码,发现挺充分的利用了jak1.5的特性(注解.泛型). 但是,具体的实现流程还是有点不通透,先Mark,等用 ...

  4. mySql中IFNULL的使用说明

    IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值 具体用法如:现有学生表(tbl_stu ...

  5. 深入剖析ConcurrentHashMap(1)

    转载自并发编程网 – ifeve.com本文链接地址: 深入剖析ConcurrentHashMap(1) ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代 ...

  6. POJ 1014 Dividing

    Dividing Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 66032 Accepted: 17182 Descriptio ...

  7. Python列表

    列表不同于字符串和元组:列表是可变的--可以改变列表的内容 1.列表函数 1.list(x)函数(其实是一种类型,而不是一个真正意义上的函数) 转化为列表,其中x可以是其他序列 可以用''.join( ...

  8. http://note.youdao.com/yws/public/redirect/share?id=2bc2dc6c7df6013e9f8106c005da999a&type=false

    Welcome to MarkdownPad 2 MarkdownPad is a full-featured Markdown editor for Windows. Built exclusive ...

  9. HTTP Code

    所有 HTTP 状态代码及其定义. 代码  指示  2xx  成功  200  正常:请求已完成.  201  正常:紧接 POST 命令.  202  正常:已接受用于处理,但处理尚未完成.  20 ...

  10. clientX、pageX、scrollLeft、offsetLeft、clientWidth、screen.width的用法和区别

    一.定义和用法 1.event.clientX:事件对象的水平偏移量: event.clientY:事件对象的垂直偏移量: 2.event.pageX:事件对象加上滚动距离后的水平偏移量: event ...