培训第四天-----jdbc连接oracle
- 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的更多相关文章
- jdbc连接oracle数据库
/*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...
- Linux(Centos)下jdbc连接oracle速度超慢的问题
最近在centos下写个java swing程序,发现在linux用jdbc连接oracle及其缓慢,还经常失败.但是同样的程序在windows下运行就连接的非常快.网上搜索了很长时间都和我这情况没关 ...
- jdbc 连接 oracle rac
jdbc 连接 oracle rac 的连接串如下: jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192. ...
- JDBC连接Oracle数据库的问题
场景:最近做一个java web项目,使用jdbc连接Oracle数据库,遇到了两个问题. 问题1:jdbc连接不上Ubuntu Oracle服务器? 后来发现这个问题的原因是由于连接字符串写错了,修 ...
- JDBC连接Oracle数据库时出现的ORA-12505错误及解决办法
转载至http://www.blogjava.net/itspy/archive/2007/12/20/169072.html Oracle 问题描述:今天使用jdbc连接oracle 10.2.0. ...
- jdbc连接oracle数据库问题
下面是JDBC连接oracle数据库流程: String dbURL = "jdbc:oracle:thin:@url:1521:service_name"; String use ...
- JDBC 连接Oracle 数据库,JDBC 连接Mysql 数据库
首先是JDBC 连接Oracle 数据库 package com.util; import com.pojo.UserInfo; import java.sql.*; public class DB ...
- JAVA通过JDBC连接Oracle数据库详解【转载】
JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...
- JDBC连接ORACLE无法登陆java.sql.SQLException: ORA-01017: invalid username/password; logon denied
当用jdbc连接Oracle数据库的时候 private Connection getConnection() throws SQLException { OracleDataSource ods = ...
随机推荐
- Wiki语料处理
最近在做知识图谱相关工作,源数据主要来自百度百科,互动百科,中文维基百科等.其中中文维基百科提供数据库下载,下文主要讨论如何处理Wiki数据. 1. 中文维基数据下载 下载dump:https://d ...
- LintCode Merge Sorted Array
两个排好序的数组, A有m个数, 长度够长, B有n个数, 长度为n, 将B放到A里, 不用buffer数组(临时数组), 就用A将两个合在一起, 同时排好序. 方法: 从右边将两个数组里最大的数取出 ...
- Tomcat口令猜解工具【Python脚本】
Tomcat 服务器网页部署,登录需用户名/密码,编写了一个简单的Python脚本来测试一些简单的弱口令. 测试环境:Tomcat版本 7.0 登录界面采用basic认证,Base 64加密一下,模拟 ...
- 编写安装中断7ch的中断例程:将一个以0结尾的字符串,转化为大写
中断的安装程序: assume cs:code code segment start: mov ax, cs mov ds, ax mov si, offset chstr mov es, ax mo ...
- ArrayList转成HashMap再转成LinkedHashMap 自己的解决方案
做天津杰超项目中赛事活动作品审核中写的一段代码: //获取全部作品 ActivityProductionQueryCommond productionQueryCommond=new Activity ...
- [原创]cocos2d-x研习录-第三阶 背景音乐和音效
在游戏中,音效是一个不可或缺的部分,它可以为我们的游戏增加效果.音效在游戏中一般分为长时间的背景音乐和短促的特效音乐.Cocos2D-x支持多种常见音乐格式(mp3.wav等). Cocos2D-x提 ...
- 如何在一个网站或者页面写js
如何在一个网站或者页面写js: 1. JS的分层(功能):jquery(tools) 组件(ui) 应用(app).mvc(backboneJS) 2. JS的规划(管理):避免全局变量和方法(命 ...
- 应用C#和SQLCLR编写SQL Server用户定义函数
摘要: 文档阐述使用C#和SQLCLR为SQL Server编写用户定义函数,并演示用户定义函数在T-SQL中的应用.文档中实现的 Base64 编码解码函数和正则表达式函数属于标量值函数,字符串分割 ...
- Oracle用户密码过期后重置SYS用户密码
问题状况: SYS.SYSTEM用户的密码过期,无法登陆. 运行EM控制台后,出现错误——ORA-28001: the password has expired (DBD ERROR: OCISess ...
- 在CentOS 6.x中支持exfat格式的U盘(移动硬盘)
参考资料:http://linux.cn/article-1503-1.html CentOS系列一直没有默认支持使用exfat格式的大容量U盘(移动硬盘),但可以通过添加fuse-exfat模块来支 ...