java学习笔记13——JDBC初步

来源:互联网 发布:淘宝物流服务质量分 编辑:程序博客网 时间:2024/05/29 02:29

这章主要是讲了java和数据库的交互,主要用的是JDBC技术。数据库的安装请参照网上教程,这里不做叙述。

一、JDBC简单介绍

百度百科的定义:

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

笼统的讲,就是为开发者提供了访问数据库的方法,可以进行数据库的访问,增删改查等操作。
这里不进行数据库原理的叙述,主要讲如何通过java进行数据库操作的开发。这里以mysql为例:接下来请看下面的代码:

public class JDBCDemo {  private static String DRIVER = "com.mysql.jdbc.Driver";  private static String URL = "jdbc:mysql://127.0.0.1:3306/demo";  private static String USERNAME = "root";  private static String PASSWORD = "";  public static void main(String[] args) throws Exception {    Connection conn = null;    Statement statement = null;    String sql = "CREATE TABLE tb_user (id int(11),userName varchar(20),passWord varchar(20));";    try {      Class.forName(DRIVER);    } catch (ClassNotFoundException e) {      e.printStackTrace();    }    conn = (Connection) DriverManager.getConnection(URL, USERNAME, PASSWORD);    statement = (Statement) conn.createStatement();    statement.executeUpdate(sql);    try {      statement.close();      conn.close();    } catch (Exception e) {      e.printStackTrace();    }  }}

结果:
这里写图片描述

这是用Navicat查看的,已经在数据库中新建了表格。接下里我们一步步的进行讲解。

二、准备

在进行jdbc编程的时候,需要两个东西1、安装完成的数据库,这里不做叙述。2、所需要的jar包,这里我使用的是mysql-connector-java-3.1.11-bin,大家可以自行上网搜索,很多的。下载以后导入到新建的工程,方法为:项目右键—>Properties—>Java Build Path—>Libraries—>Add External Jars,选择下载的jar包导入即可。

三、jdbc的过程

其实jdbc的编程可以分为这样子的步骤

  • 1、加载mysql驱动,在上述代码中有:
  private static String DRIVER = "com.mysql.jdbc.Driver";  Class.forName(DRIVER);

表示获取mysql的驱动,这里的驱动在刚刚导入的jar包中,里面提供了连接mysql数据库的方法。


  • 2、根据提供的url,用户名和密码连接数据库
private static String URL = "jdbc:mysql://127.0.0.1:3306/demo";  private static String USERNAME = "root";  private static String PASSWORD = "";

以上是mysql的URL,这里的格式是,jdbc:mysql:+地址(这里是本地地址,3306端口)+/(路径,这里是demo这个database),还有用户名root和密码,用户名和密码在数据库安装的时候需要记住。

  • 具体的讲,url的书写形式为:协议:子协议:数据源标识
    • 协议:在JDBC中总是以jdbc开始
    • 子协议:是桥连接的驱动程序或是数据库管理系统名称。
    • 数据源标识:标记找到数据库来源的地址与连接端口。

  • 3、创建statement
   Connection conn = null;   Statement statement = null;   conn = (Connection) DriverManager.getConnection(URL, USERNAME, PASSWORD);    statement = (Statement) conn.createStatement();

要连接数据库,需要请求并获得Connection对象,该对象就代表一个数据库的连接。 使用DriverManager的getConnectin(String url , String username , String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。
创建了connection以后,创建一个statement实例,它是用来执行sql语句的,statement主要有三种类型:
1. 执行静态SQL语句。通常通过Statement实例实现。
2. 执行动态SQL语句。通常通过PreparedStatement实例实现。
3. 执行数据库存储过程。通常通过CallableStatement实例实现。


  • 4、执行sql语句
statement.executeUpdate(sql);

statement中有执行sql的方法,主要有executeQuery 、executeUpdate和execute
用select返回对象的时候,一般用executeQuery ,返回的是ResultSet对象,执行删除和更新和创建的时候,可以使用executeUpdate,返回int值,也可以使用execute方法,返回boolean值。


  • 5、处理结果
    两种情况:
    1. 执行更新返回的是本次操作影响到的记录数。
    2. 执行查询返回的结果是一个ResultSet对象。

ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。使用结果集(ResultSet)对象的访问方法获取数据:

while(rs.next()){   String name = rs.getString("name") ;   //获取name对应的值String pass = rs.getString(1) ;//表示获取第几列的值,这里从1列开始,较上面的高效}  

详细方法见下面方法


  • 6、关闭jdbc的连接
  statement.close();  conn.close();

运行完sql以后必须要关闭,进行资源的释放。

以上就是一个jdbc的基本过程,下面来详细的讲讲。

四、增加,删除,更新操作

这里增加表,删除表,更新表等操作类似,这里主要讲一下插入数据如何执行,其他操作类似于插入数据。大家看代码:

public class JDBCDemo {  private static String DRIVER = "com.mysql.jdbc.Driver";  private static String URL = "jdbc:mysql://127.0.0.1:3306/demo";  private static String USERNAME = "root";  private static String PASSWORD = "";  public static void main(String[] args) throws Exception {    Connection conn = null;    Statement statement = null;    String sql = "insert into tb_user(id,userName,passWord) values (1,'hello','java');";    try {      Class.forName(DRIVER);    } catch (ClassNotFoundException e) {      e.printStackTrace();    }    conn = (Connection) DriverManager.getConnection(URL, USERNAME, PASSWORD);    statement = (Statement) conn.createStatement();    statement.executeUpdate(sql);    try {      statement.close();      conn.close();    } catch (Exception e) {      e.printStackTrace();    }  }}

结果:
这里写图片描述
成功插入。

五、select语句

public class JDBCDemo {  private static String DRIVER = "com.mysql.jdbc.Driver";  private static String URL = "jdbc:mysql://127.0.0.1:3306/demo";  private static String USERNAME = "root";  private static String PASSWORD = "";  public static void main(String[] args) throws Exception {    Connection conn = null;    Statement statement = null;    String sql = "select * from tb_user where id=1";    try {      Class.forName(DRIVER);    } catch (ClassNotFoundException e) {      e.printStackTrace();    }    conn = (Connection) DriverManager.getConnection(URL, USERNAME, PASSWORD);    statement = (Statement) conn.createStatement();//这里使用executeQuery,得到ResultSet对象,然后取值    ResultSet resultSet = (ResultSet) statement.executeQuery(sql);    String id = null;    String username = null;    String password = null;    while (resultSet.next()) {      id = resultSet.getString(1);      username = resultSet.getString(2);      password = resultSet.getString(3);    }    System.out.println(        "id=" + id + ",username=" + username + ",password=" + password);    try {      statement.close();      conn.close();    } catch (Exception e) {      e.printStackTrace();    }  }}

结果
这里写图片描述
顺利取出。
以上就是用statement进行jdbc进行的基本操作。

注意:在进行jdbc操作是会有很多异常抛出,要正确处理异常,防止程序崩溃

预告一下:

下一篇讲statement和preparedstatement的区别,jdbc连接池以及批量插入等操作。这里就想不讲了。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 空腹彩超喝水了怎么办 鱼把厕.所堵了怎么办 螃蟹爬进厕所里怎么办 抄作业被老师发现怎么办 鱼把厕所堵了怎么办 刚憋尿上完厕所之后腹部很疼怎么办 小孩被老师投诉了家长怎么办 家长投诉被老师知道了怎么办 孩子上课不敢回答问题怎么办 孩子犯了错家长怎么办 错了不该错的题怎么办 不该错的题错了怎么办 小学生不爱写课堂作业怎么办 手被老师打肿了怎么办 老师反应孩子学习退步了怎么办 学护理的打屁股针怎么办 教师被投诉打学生怎么办 遇到内向的学生教师应该怎么办 教师遇到顽劣的学生怎么办 家长质疑老师的能力怎么办 和领导有冲突该怎么办 孩子叫也不听特别叛逆怎么办 孩子叛逆期不听妈妈的话怎么办 学生和老师反嘴怎么办? 两个月的宝宝不拉屎怎么办 老师受家长的气怎么办 家长故意在班级群里气老师怎么办 幼儿园阿姨体罚孩子家长该怎么办 学生钱丢了老师怎么办 胸肌一边大一边小怎么办 被爱的人抛弃了怎么办 深蹲以后腿疼怎么办 做完蹲起大腿疼怎么办 练腿之后腿疼怎么办 深蹲做完后腿疼怎么办 做完上下蹲腿疼怎么办 钓鱼子线长了怎么办 烤箱烤红薯没有锡纸怎么办 烤箱烤羊肉串滴油怎么办 黄金虎嘴脱臼了怎么办 孕妇吃了马头鱼怎么办