java调用数据库的基本步骤_Java实现数据库操作的基本流程(转)
一、数据库连接
1、Drivermanager链接数据库
String className,url,uid,pwd;
className="oracle.jdbc.driver.OracleDriver";
uid="scott";
pwd="tiger";
url="jdbc:oracle:thin:@localhost:1521:ora92";//这里ora92是你的数据库实例名的例子
Class.forName(classname);
Connection conn=DriverManager.getConnection(url,uid,pwd);
2、JNDI链接数据库
String jndi ="jdbc/db"; // e20-040 9L0-609 数据源的名称
//context是一组名称到对象的绑定组成
Hashtable env=new Hashtable ();
Context ctx=(Context)new InitialContext.lookup("env");// 获得数据源所在的上下文点的对象
DataSource ds=(DataSource)ctx.lookup(jndi);//找到数据源
Connection conn=ds.getConnection();//
二、执行sql语句
String sql;
StateMent stat=conn.createStatement();
ResultSet rs=stat.executeQuery(sql);//执行数据的查询语句(select);
stat.executeupdate(sql);//执行数据的更新语句(inset into ,delete ,update ,drop)
stat.close();
三、用preparedStatement来执行sql语句
String sql="inset into table(id,name) values(?,?)";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setInt(1,001);
ps.setString(2,"zhangmanli");
ps.executeQuery();
int count=ps.executeupdate();
四、处理执行结果
查询语句,返回记录集ResultSet对象
更新语句,返回数字,表示该更新影响的记录数
javax.sql.*
javax.naming.*;
数据处理:
1、关闭connection 的自动提交
conn.setAutoCommit(false);
2、执行一系列sql 语句
Statement sm;
sm=conn.createStatement(sql);
sm.executeupdate();
sm.close();
3、提交
conn.commit();
4、回滚机制;
conn.rollback();
五、线程处理
jndi和dataSource来获得数据库的链接:
import java.sql.ResultSet ;
import java.sql.*;
import javax.sql.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import java.util.Hashtable;
import java.util.Properties;
import java.io.*;
public class BasicExample{
public static void main(String args[]){
Connection conn=null;
try{
Properties prop =new Properties();
prop.load(new FileInputStream("simple.properties"));
Hashtable env =new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
prop.getProperty("INITIAL_CONTEXT_FACTORY"));
env.put(Context.PROVIDER_URL,prop.getProperty("PROVIDER_URL"));
InitialContext ctx=new InitialContext(env);
DataSource ds=(DataSource)ctx.lookup("Book");
Conn=ds.getConnection();
Statement stat=conn.createStatement();;
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
int id=Integer.parseInt(rs.getString("userId"));
String userName=rs.getString ("username");
}
}catch(SQLException e){
e.printStackTrace();
}finally{
try{
if(conn!=null){
conn.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
};
java调用数据库的基本步骤_Java实现数据库操作的基本流程(转)相关推荐
- java 调用kettle job 传参_java调用kettle向job(任务)和transformation(转换)传递参数实例...
虽然网上文章有说java可以传递参数给kettle,不过只找到了传递参数给转换的文章,没有讲参数传递给job,kettle中如何使用java传递的参数.今天就以上问题,一并共享. /** * 本测试类 ...
- java调用kafka接口发送数据_Java调用Kafka生产者,消费者Api及相关配置说明
本次的记录内容包括: 1.Java调用生产者APi流程 2.Kafka生产者Api的使用及说明 3.Kafka消费者Api的使用及说明 4.Kafka消费者自动提交Offset和手动提交Offset ...
- Java调用MySQL并返回数据_Java调用MySQL存储过程并获得返回值的方法
本文实例讲述了Java调用MysqL存储过程并获得返回值的方法.分享给大家供大家参考.具体如下: private void empsInDept(Connection myConnect,int de ...
- java调用摄像头保存到图库_Java调用摄像头并拍摄保存
Java调用摄像头并拍摄保存. 找到一篇关于java调用硬件(摄像头),一篇挺有意思的文章,索性转一下: ------------------------------------- 转自:http:/ ...
- java调用包中的类_java调用另一个包中的类的方法
java调用另一个包中的类的方法 发布时间:2020-05-18 15:04:40 来源:亿速云 阅读:199 作者:小新 今天小编给大家分享的是java调用另一个包中的类的方法,相信很多人都不太了解 ...
- java调用接口实现的方法_java调用接口的实现方法
java调用接口的实现方法 发布时间:2020-06-29 11:08:46 来源:亿速云 阅读:78 作者:Leah 本篇文章给大家分享的是有关java调用接口的实现方法,小编觉得挺实用的,因此分享 ...
- java调用oracle删除,使用IDEA对Oracle数据库进行简单增删改查操作
1.1 java中的数据存储技术 在java中,数据库存取技术可分为如下几类: 1.jdbc直接访问数据库 2.jdo(java data object)是java对象持久化的新的规范,也是一个用于存 ...
- java 调用 swf 文件上传_java SpringMvc 实现文件在线预览(openoffice+swftools+flexpaper)
项目需求:服务器接受的文件当下只能下载之后才能浏览内容,现需要后台能在线浏览到文件内容,避免繁琐无用文件下载操作. 通过几天网上资料搜索,目前免费的在线预览开发技术使用最多还是(openoffice+ ...
- java调sqlloader,Java调用SqlLoader将大文本数据导入数据库
项目描述 将一千万条数据,大约500M的文本文档的数据导入到数据库 分析:通过Java的IO流解析txt文本文档,拼接动态sql实现insert入库,可以实现,缺点如下 第一:IO流解析大文本文件对机 ...
最新文章
- 计算机技术应用及信息管理,计算机应用技术与信息管理整合研究(共2808字).doc...
- WPF 的Listbox 滚动处理
- 学写网站(一)前端配置之安装nvm、node、npm
- 使用NPOI将数据库里信息导出Excel表格并提示用户下载
- 中国房地产市值已经超过450万亿,为何还不见房价下跌?
- final 在 java 中有什么作用?
- greenplum gpfdist应用
- python 函数进度条怎么_刷新你对进度条的认识,用python写出不一样的进度条
- 最短路径 floyd java_java实现Floyd算法求最短路径
- keil无法生成axf文件之解决方法
- DB2中不同于其它数据库的操作
- 姓名的首字母组成的图案C语言怎么编,c语言编写一个程序,根据用户输入英文名和姓先显示姓氏,其后跟一个逗号,然后显示名的首字母:...
- Layui 数据表格动态cols(字段)动态变化
- cc2530设计性实验代码六
- android 调用百度地图客户端,
- dc dc变换器的建模及matlab仿真,基于Matlab的AC/DC变换器的系统建模和仿真.pdf
- 明明有内存报错CUDA out of memory
- 简单弄懂配置github CND加速
- 暗猝灭剂BHQ-2 氨基,BHQ-2 amine,CAS:1241962-11-7
- 职场中年人,愿你终能体面的离开
热门文章
- 【李宏毅2020 ML/DL】P74 Generative Adversarial Network | Basic Idea
- 【李宏毅2020 ML/DL】P10 Classification_1 | 简单的例子告诉你使用 wx+b 以及 Sigmoid 作为激活函数的合理性
- 微信小程序实质是什么? Hybrid App
- python 学习之 PythonBasic2
- 思科 接入点 本地转发_思科路由器配置 IPv6 和 OSPFv3 路由
- 安卓nfs网络文件服务器,Linux网络文件服务器 NFS
- 跳出框架iframe的操作语句
- Stanford Parser的学习之开篇(一)
- 最新pvz服务器补偿码,阴阳师:补偿来了!大量活动导致服务器崩溃,现已修复且下发补偿...
- data spring 指定时区_今天的工作内容:Spring Boot 2.X整合Spring-cache