JDBC的常用类和接口

1.       DriverManager类

管理数据库中的所有驱动程序,其所有的方法都是静态方法,调用时无需实例化,通过类名就可以直接调用。

2.       Connection接口

该接口代表与指定的数据库进行连接。通常通过getConnection()方法来获取实例。

Connection connection=DriverManager.getConnection(url,userString, psw);

3.        Statement接口

该接口提供了向SQL传递语句的各种操作。通常首先通过Connection对象的createStatement()方法创建一个Statement对象,之后在进行相关操作。

Statement stmt=connection.createStatement();

executeUpdate方法和executeQuery方法都用来执行SQL语句,区别在于executeUpdate方法用来执行插入,删除,修改的操作,返回值为影响数据库记录的条数而executeQuery方法用来执行select查询语句,返回一个ResultSet对象。

4.       PreparedStatement接口

PreparedStatement继承自Statement,用于执行动态的SQL语句,通过PreparedStatement实例执行的SQL语句,将被预编译并保存到PreparedStatement实例中,实现反复执行同一条SQL语句。

5.       ResultSet接口

通常用于显示查询数据库的结果。

代码

/*
* mysql数据库已经设置完毕,本例需要访问的数据库为school库,
* 其下有表student(int id,varchar(20) name,varchar(10) sex,int age)
*/ package chen; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class test {
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");//通过静态方法直接调用forName方法加载数据库驱动
String url=new String("jdbc:mysql://172.168.1.154:3306/school");//需要连接的数据库端口
String userString=new String("root");//定义登录数据库的用户名
String psw=new String("root");//定义登录数据库的密码
Connection connection=DriverManager.getConnection(url, userString, psw);//连接数据库
System.out.println("连接成功");
/*向数据库中添加数据
String sqlString=new String("insert into student (id,name,sex,age) value('201206','小兰','女','18')");//定义需要执行的SQL语句
// String sqlString="update student set age=30 where id=201215";//修改数据
// String sqlString="delete from student where id=201215";//删除数据
Statement stmt=connection.createStatement();//通过createStatement方法创建Statement对象
stmt.executeUpdate(sqlString);//传输需要执行的SQL语句
connection.close();//关闭连接
*/ /*
* 显示查询结果
Statement stmt=connection.createStatement();
String sqlString=new String("select * from student");
//select * from student where name like '%小%'查询anme中有小字的名字数据
ResultSet resultSet=stmt.executeQuery(sqlString);//获取相应SQL语句队应的ResultSet对象
int id,age;//定义临时变量来存储表的内容
String name,sex;
System.out.println("student表的内容如下");
System.out.println("id\t\t name\t sex\t age");
//next()方法用于判断是否数据表中还有数据,每次读取一行数据
while(resultSet.next()){
id=resultSet.getInt(1);//获取该行的第一列的数据,也可以通过列名来指定,即与id=resultSet.getInt("id")等价
name=resultSet.getString(2);//name=resultSet.getString("name")
sex=resultSet.getString(3);//sex=resultSet.getString("sex")
age=resultSet.getInt(4);//age=resultSet.getInt("age")
System.out.println(id+"\t"+name+"\t\t"+sex+"\t"+age);
}
*/
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }

java编程之JDBC的更多相关文章

  1. java编程之:Unsafe类

    Unsafe类在jdk 源码的多个类中用到,这个类的提供了一些绕开JVM的更底层功能,基于它的实现可以提高效率.但是,它是一把双刃剑:正如它的名字所预示的那样,它是 Unsafe的,它所分配的内存需要 ...

  2. Java编程之Map中分拣思想。

    题目:给定一个字符串,求出字符串中每一个单词在字符串中出现的次数 旨意:map的分拣思想. 每一个key的包装类,存放出现的次数 /** * 作为包装类,用来存放英文单词,和该英文单词出现的次数 * ...

  3. java编程之POI读取excel表格的内容

    07版本的excel需要另外加一个jar包.xbean.jar的jar包 读取代码模板.利用模板介绍读取excel的一些poi的api这是重点 /** * 读取excel文件 * @Title: re ...

  4. java编程之:生成rsa密钥

    通过openssl工具生成RSA的公钥和私钥(opnssl工具可在互联网中下载到,也可以点此下载无线接口包,里面包含此工具) 打开openssl文件夹下的bin文件夹,执行openssl.exe文件: ...

  5. java编程之:org.apache.commons.lang3.text.StrTokenizer

    第一个api测试:按特殊符号进行分词,并遍历每一个分词部分 public static void main(String[] args) { String aString="AB-CD-EF ...

  6. java编程之:按位与运算,等运算规则

    按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算. 运算规则:0&0=0;   0&1=0;    1&0=0;     1&1=1; 即:两位 ...

  7. Java编程之Date的相关操作

    一:讲字符串的时间格式数据转换成时间对象 //将字符串的时间数据,转换成时间 String dateString="2007-12-12"; DateFormat date=new ...

  8. java网络编程之TCP通讯

    java中的网络编程之TCP协议的详细介绍,以及如何使用,同时我在下面举2例说明如何搭配IO流进行操作, /* *TCP *建立连接,形成传输数据的通道: *在连接中进行大数据量传输: *通过三次握手 ...

  9. Java并发编程之CAS

    CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术.简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替 ...

随机推荐

  1. 转 Python爬虫入门四之Urllib库的高级用法

    静觅 » Python爬虫入门四之Urllib库的高级用法 1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我 ...

  2. Python入门--18--异常与try,except语句

    Python标准异常总结 AssertionError 断言语句(assert)失败 AttributeError 尝试访问未知的对象属性 EOFError 用户输入文件末尾标志EOF(Ctrl+d) ...

  3. php转换字符编码为utf-8

    php转换字符编码为utf-8 function strToUtf8($str){ $encode = mb_detect_encoding($str, array("ASCII" ...

  4. LeetCode OJ--Binary Tree Level Order Traversal

    http://oj.leetcode.com/problems/binary-tree-level-order-traversal/ 树的层序遍历,使用队列 由于树不是满的,还要分出每一层来,刚开始给 ...

  5. npm 安装出现 UNMET DEPENDENCY 的解决方案

    npm imuzhicloud@0.2.2 E:\com\muzhicloud_make_web+-- UNMET PEER DEPENDENCY react@15.4.2+-- react-dnd@ ...

  6. POJ - 2391 最大流

    题目链接:http://poj.org/problem?id=2391 今天掉坑多次. 做了几道题,发现从源点出来的边和进入汇点的边都在题目中出来过. POJ真是坑,交G++一直wa,检查代码检查了好 ...

  7. BZOJ 3309 莫比乌斯反演

    题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=3309 题意:定义f(n)为n所含质因子的最大幂指数,求 $Ans=\sum _{i=1} ...

  8. Codeforces 691F Couple Cover

    可以暴力预处理出每一种小于3000000的乘积有几种.询问的时候可以用总的方案减去比p小的有几种o(1)输出. #pragma comment(linker, "/STACK:1024000 ...

  9. 解决.NET Core MVC 视图中的中文被html编码的问题

    在  .net core mvc 视图输出 变量的时候 默认使用的是 UnicodeRanges.BasicLatin  进行的编码 所以 输出中文后在查看源码的时候是进过编码了的 . 解决方案 在 ...

  10. 开源BT磁力搜索引擎收集

    基本是利用bt网络中p2p技术实现,开源项目上实现了dht网络的搜索.是学习dht算法的好项目. https://lanmaowz.com/open-dht-spider/ https://githu ...