内容:供程序员调用的接口与类,集成在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("程序结束");

}

Java:JDBC操作的更多相关文章

  1. java jdbc操作数据库通用代码

    1.准备工作 1> 新建一个配置文件,名为jdbc.properties将其放入src中 2>在项目中导入jdbc驱动,注意连接不同的数据库,所用到的驱动是不一样的,这些在网上都能找到 具 ...

  2. Java jdbc 操作数据库详解

    原文地址https://www.cnblogs.com/huguodong/p/5910859.html JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  3. java JDBC操作MySQL数据库

    一,首先在MYSQL建立一个数据库,例如Geek99DB: create database Geek99DB; use Geek99DB; 然后建立一个表CustomerTab: create tab ...

  4. Java -- JDBC 操作mysql数据库

    1. Demo1 导包时 不要导具体的mysql包, 为了兼容性,导JDBC 中 sql的包既可以了. public class Demo1 { /** * @param args * @throws ...

  5. Java JDBC 操作二进制数据、日期时间

    二进制数据 mysql提供了四种类型来存储二进制数据: TinyBlob    最多可存储255字节 Blob   最多可存储65KB MediumBlob    最多可存储16MB LongBlob ...

  6. Java JDBC数据库链接

    好久没有编写有关数据库应用程序啦,这里回顾一下java JDBC. 1.使用Java JDBC操作数据库一般需要6步: (1)建立JDBC桥接器,加载数据库驱动: (2)连接数据库,获得Connect ...

  7. Java的JDBC操作

    Java的JDBC操作 [TOC] 1.JDBC入门 1.1.什么是JDBC JDBC从物理结构上来说就是java语言访问数据库的一套接口集合,本质上是java语言根数据库之间的协议.JDBC提供一组 ...

  8. Java使用Jdbc操作MySql数据库(一)

    这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...

  9. Java JDBC批处理插入数据操作

    在此笔记里,我们将看到我们如何可以使用像Statement和PreparedStatement JDBC API来批量在任何数据库中插入数据.此外,我们将努力探索一些场景,如在内存不足时正常运行,以及 ...

  10. java jdbc数据库操作

    package shb.java.demo3; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQ ...

随机推荐

  1. Mysql学习总结(28)——MySQL建表规范与常见问题

    一. 表设计 库名.表名.字段名必须使用小写字母,"_"分割. 库名.表名.字段名必须不超过12个字符. 库名.表名.字段名见名知意,建议使用名词而不是动词. 建议使用InnoDB ...

  2. Android干货大放送:书籍、教程、工具各种全

    最全干货分享,本文收集整理了Android开发所需的书籍.教程.工具.资讯和周刊各种资源,它们能让你在Android开发之旅的各个阶段都受益. 入门 <Learning Android(中文版) ...

  3. WIZnet相关产品介绍

    WIZnet  自1998年在韩国创立以来,一致专注研发全硬件TCP/IP协议栈芯片.同一时候开发设计相关网络模块和无线产品,同一时候 WIZnet 鼓舞开源硬件.相关开源硬件产品也已层出不断. 主要 ...

  4. HDU 3016 Man Down(线段树)

    HDU 3016 Man Down 题目链接 题意:是男人就下100层的游戏的简单版,每次仅仅能从两端下落.求落地最大血量 思路:利用线段树能够处理出每一个线段能来自哪几个线段.然后就是dag最长路了 ...

  5. bsp开发之OAL开发

    windows ce 操作系统移植主要包含两个方面:一个是基于cpu级的.还有一个是基于开发板级的.cpu级的主要由微软或者芯片制造商来完毕.开发板级的移植主要是由OEM来完毕的,而OAL的开发正是O ...

  6. php中file_get_contents如何读取大容量文件

    php中file_get_contents如何读取大容量文件 一.总结 一句话总结:使用file_get_contents()进行分段读取,file_get_contents()函数可以分段读取 1. ...

  7. [poj 2480] Longge's problem 解题报告 (欧拉函数)

    题目链接:http://poj.org/problem?id=2480 题目大意: 题解: 我一直很欣赏数学题完美的复杂度 #include<cstring> #include<al ...

  8. ubuntu创建文件夹桌面快捷方式

    最近在使用dropbox,用来存储一些自己的markdown笔记和pdf文件.觉得放一个快捷方式在桌面上比较方便,但是lxde似乎没有直接创建桌面快捷方式的功能(或者是我没有找到),就上网查了一下,顺 ...

  9. 线程1—Runnable

    随便选择两个城市作为预选旅游目标.实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市.分别用Runnable接口和Thread类实 ...

  10. CUDA笔记(九)

    找了不知道多少教程,终于找到靠谱的nsight的: http://blog.csdn.net/mysniper11/article/details/8003644 还有两个视频的相关: http:// ...