JDBC学习总结

来源:互联网 发布:数控编程网论坛 编辑:程序博客网 时间:2024/06/16 22:37

JDBC学习总结

一.JDBC介绍

    jdbc是SUN公司和简化和统一对数据库的操作定义的一套接口,接口由数据库厂商实现,开发人员只需要学习jdbc接口,通过jdbc加载驱动就可以操作数据库了。

这里写图片描述


二.编写JDBC程序

2.1、在mysql中创建一个库,并创建user表和插入表的数据。

 1 create table t_users( 2     id int primary key, 3     name varchar(32), 4     password varchar(32), 5  );  6 insert into t_users(id,name,password)     values(1,'zhansan','123456'); 7 insert into t_users(id,name,password) values(2,'lisi','123456'); 8 insert into t_users(id,name,password) values(3,'wangwu','123456');

2.2、新建一个Java工程,并导入数据驱动。

2.3、编写程序从t_user表中读取数据

import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;public class JdbcFirstDemo {    public static void main(String[] args) throws Exception {        // 连接数据库的url        String url = "jdbc:mysql:///test";        // 用户名        String user = "root";        // 密码        String password = "";        // 1.加载驱动        Class.forName("com.mysql.jdbc.Driver");        // 2.创建连接        Connection conn = DriverManager.getConnection(url, user, password);        // 3.sql        String sql = "select * from t_user where id = ? ";        // 4.获取PreparedStatement对象        PreparedStatement ps = conn.prepareStatement(sql);        // 5.设置参数        ps.setInt(1, 1);        // 6.执行sql        ResultSet rs = ps.executeQuery();        // 7.处理结果集        while (rs.next()) {            String name = rs.getString(2);            String pwd = rs.getString("password");            System.out.println("name is " + name + "\n" + "password is " + pwd);        }        // 8.关闭连接,释放资源        rs.close();        ps.close();        conn.close();    }}

运行结果如下:
这里写图片描述

2.4、数据库URL讲解

URL用于标识数据库的位置,通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为:
这里写图片描述

常用数据库URL地址的写法:

  • Oracle写法:jdbc:oracle:thin:@localhost:1521:sid
  • SqlServer写法:jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sid
  • MySql写法:jdbc:mysql://localhost:3306/sid

2.5、Connection类讲解

     Jdbc程序中的Connection,它用于代表数据库的链接,客户端与数据库所有交互都是通过connection对象完成的,这个对象的常用方法:
  • createStatement():创建向数据库发送sql的statement对象。
  • prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象。
  • setAutoCommit(boolean autoCommit):设置事务是否自动提交。
  • commit() :在连接上提交事务
  • rollback() :在连接上回滚事务。

2.6、PreparedStatement类讲解

      PreparedStatement执行动态的sql语句达到预编译的目的,可以防止程序sql攻击,推荐使用,这个对象的常用方法:
  • executeQuery() : 执行查询语句,返回结果集
  • execute() : 执行任意一条sql语句,返回的是boolean
  • setString(int parameterIndex,String x) : 设置sql语句中的参数值,参数值从1开始

2.7、ResultSet类讲解

     Jdbc程序中的ResultSet用于代表Sql语句的执行结果。 ResultSet既然用于封装执行结果的,所以该对象提供的都是用于获取数据的get方法:

  获取任意类型的数据
    getObject(int index)
    getObject(string columnName)
  获取指定类型的数据,例如:
    getString(int index)
    getString(String columnName)
 注:index也是从第一列开始

1 0
原创粉丝点击