Java:JDBC操作_weixin_30439131的博客-程序员宝宝

技术标签: java  数据库  

内容:供程序员调用的接口与类,集成在java.sql和javax.sql包中,如:
DriverManager类
Connection接口
Statement接口
ResultSet接口

 

1.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

2.Connection conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databasename=data", "sa", "123");

Statement stm=con.createStatement();
String sql="select * from users where username='"+name+"' and userpwd="+pwd;
ResultSet rs=stm.executeQuery(sql);
if(rs.next()){
System.out.println("成功");
}else{
System.out.println("不成功");
}

 

//得到连接Connection
public static Connection getConn(){
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");//加载驱动包

conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
//创建连接数据库的流

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return conn;
}
/*关闭连接的方法:先关结果集 再关船 再关连接
* 铁船继承普通船
*/
public static void closeConn(ResultSet rs,Statement st,Connection conn){

try {
if(rs!=null){
rs.close();
}
if(st!=null){
st.close();
}
if(conn!=null){
conn.close();
}

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

 

//1.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.建连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");


/*3.准备sql语句:
* 一次插入50条数据
*/
String sql = "insert into student values(seq_stu.nextval,?,?,?,to_date(?,'yyyy-mm-dd'),?)";

//4.创建铁船
PreparedStatement pst = conn.prepareStatement(sql);
for(int i=0;i<50;i++){
pst.setString(1, "小菜"+i);
pst.setString(2, "女");
pst.setDouble(3, 100.0);
pst.setString(4, "1900-1-1");
pst.setString(5,"马兰山马兰坡");
//把数据存入Batch容器
pst.addBatch();
}
int[] arr = pst.executeBatch();

///*5.执行sql语句并返回结果
if(arr.length>=50){
System.out.println("添加成功");
}



//6.关连接
pst.close();
conn.close();
System.out.println("程序结束");

 

事务:
public static void main(String[] args) throws Exception {
//1.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.建连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
System.out.println(conn);
//开启事务:设置不自动提交
conn.setAutoCommit(false);


/*3.准备sql语句:
* 小强1的钱减少100
* 小强3的钱增加100
*/
String sql = "update student set stu_money=stu_money-100 where stu_id=23";
String sql2 = "update student set stu_money=stu_money+100 where stu_id=24";

//4.创建Statement;普通船
Statement st = conn.createStatement();

///*5.执行sql语句并返回结果

int a = st.executeUpdate(sql);
int b = st.executeUpdate(sql2);

if(a>0&&b>0){
//如果两个操作都成功了 提交事 务
conn.commit();
}else{
//回滚:恢复到原来的状态
conn.rollback();
}

//6.关连接
st.close();
conn.close();
System.out.println("程序结束");


}

转载于:https://www.cnblogs.com/monion/p/7049782.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30439131/article/details/95589145

智能推荐

linux中history命令使用与配置_白天的猫头鹰的博客-程序员宝宝

history中设置显示命令的执行时间vi /root/.bashrcHISTTIMEFORMAT="%Y-%M-%D %H:%M:%S"export HISTTIMEFORMAT为了使以上设置生效,执行以下命令:wqsource .bashrchistory命令清除命令执行操作的历史记录history -chistory命令列出最近执行的n条命令histo

Connection reset by peer的常见原因_lovely可爱欧辰的博客-程序员宝宝

Connection reset by peer的常见原因:1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭;   如果知道实际连接服务器的并发客户数没有超过服务器的承载量,则有可能是中了病毒或者木马,引起网络流量异常。可以使用netstat -an查看网络连接情况。2)客户关掉了浏览器,而服务器还在给客户端发送数据;3)浏览器端按了Stop;   这两种情况一

web开发题,web前端CSS全局样式_普通网友的博客-程序员宝宝

CSS计算选中标签元素这是一种社交平台的常见需求,比如说在掘金平台中让用户选择感兴趣的标签,通常都是用JS来处理已经选择了的标签数量。今天给出一个css版本:&lt;p&gt;请选择你感兴趣的标签:&lt;/p&gt;&lt;input type="checkbox" id="topic1"&gt;&lt;label for="topic1" class="topic"&gt;Vue&lt;/label&gt;...&lt;p&gt;您已选择&lt;span class="topic-counte

OpenLayers使用ArcGIS发布的切片_LZS2851的博客-程序员宝宝

目录载入数据选择图层切图切图加载到服务载入数据打开【ArcMap 10.2】默认情况下,程序会弹出下图:这里面是之前打开的,可以直接双击,就可以打开图层了,不过比较慢,可以等会;如果出现的和我的不一样,那么,可以在【file】中的【open】中,打开数据。找到文件夹【MarsGIS_Equi0_v21】,然后打开红框中的文件。选择图层这里...

BurpSuite安装和配置_weixin_30603633的博客-程序员宝宝

Burp Suite是什么Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多Burp工具,这些不同的burp工具通过协同工作,有效的分享信息,支持以某种工具中的信息为基础供另一种工具使用的方式发起攻击。它主要用来做安全性渗透测试,可以实现拦截请求、Burp Spider爬虫、漏洞扫描(付费)等类似Fiddler和Postman但比其更强大的功能。那么我们今...

Stateflow_duration计时_gdxmn的博客-程序员宝宝_stateflow计时器

在Stateflow中可以使用duration函数进行计时事件持续的时间。具体使用方法可以参考Stateflow的帮助文档:《Stateflow User Guide》。1 语法duration(C)C is an expression that evaluates to true or false.Returns the number of seconds since the conditional expression C became true and the associated s

随便推点

缠中说禅形态挖掘之九笔形态_zengbin93的博客-程序员宝宝

aAbBc式向上趋势顶背驰aAbBc式向下趋势底背弛aAb式底背弛

System Toolkit 3.3.3 中文版 系统维护工具箱_mac毒的博客-程序员宝宝_系统维护工具箱

System Toolkit 3 是一款 Mac 系统维护工具箱应用。可以在菜单栏显示系统的信息,比如网速,CPU使用率等信息,支持自定义的菜单栏视图。可以查看网络(支持跟踪网络流量)、电池、硬件使用情况。可以进行系统垃圾清理、浏览器隐私清理、内存清理、重复和大文件查找清理等功能。v3.3 仅适用于 macOS Big Sur 11.x 系统应用介绍System Toolkit是专为macOS设计的多功能信息和系统维护应用程序。信息:系统信息 跟踪所有系统负载。这包括CPU负载,.

STM32内置参照电压的使用方法_tianyukobe的博客-程序员宝宝

STM32内置参照电压的使用每个STM32芯片都有一个内部的参照电压,相当于一个标准电压测量点,在芯片内部连接到ADC1的通道17。根据数据手册中的数据,这个参照电压的典型值是1.20V,最小值是1.16V,最大值是1.24V。这个电压基本不随外部供电电压的变化而变化。不少人把这个参照电压与ADC的参考电压混淆。ADC的参考电压都是通过Vref+提供的。100脚以上的型号,Vref+引到了片外,引...

iOS git 托管代码 常用几个操作_weixin_33795833的博客-程序员宝宝

学习git切换分支1从远程下载一个分支develop(本地没有的)(1) git fetch origin develop(2) git checkout develop (默认 分支切换到develop 上)(3) git log 打印提交历史记录===========================2 学习本地分支维护远程分支...

数据结构-图论-欧拉回路_adsk47的博客-程序员宝宝_数据结构欧拉回路

在这篇文章中,我将尽可能的去了解清楚什么是欧拉回路,以及如何用算法去实现它。一.图1、图的定义图 是一个顶点集合V和一个顶点间关系的集合E组成,记G=(V,E)V:顶点的有限非空集合。E:顶点间关系的有限集合(边集)。存在一个结点v,可能含有多个前驱节点和后继结点。eg:2、无向图和有向图无向图 在G=(V,E)中,如果对于任意的结点a,b∈V,当(a,b)∈E时,必有(b,a)∈E(即关系R对称...

安装了winRAR 但压缩文件没有显示winRAR图标_集电极的博客-程序员宝宝_winrar图标不显示

安装里winRAR 但压缩文件没有显示winRAR图标在选项中找到设置,将其按下图设置。点击确定后就可以看到压缩文件呈winRAR图标