JDBC这块相当重要,不仅JAVASE里面用到,JSP里面更是重中之重。所以把JDBC这一块单独整理出来。

 JDBC:

    java连接数据库

    1、连接数据库

      通过JDBC连接数据库步骤

      1、导包(驱动)mysql-connector-java-5.1.28-bin.jar放到项目下,然后右键点击Build Path

      2、加载驱动 Class.forName("com.mysql.jdbc.Driver")

        Class.forName()含义:加载参数指定的类,并且初始化它

      3、参数

        数据库地址:jdbc:mysql://127.0.0.1[localhost]:3306/数据库名

        用户名:root

        密码:root

      4、Connection con = DriverManager.getConnection(数据库地址,用户名,密码);

      ClassNotFoundException:

        1、没有导jar包

        2、驱动名字写错了

        一字不差的记住com.mysql.jdbc.Driver!!!

      SQLException:

          1、mysql是否启动

          2、url\账户\密码参数是否正确

          3、URL:数据库名、ip地址、端口号是否正确

    JDBC原理:

      公用接口 协议标准  JDBC

      各个数据库厂商遵循这个规范  实现这个接口 JDBC驱动

注意:将来项目中由于客户的数据库与我们开发中使用的不同,通常会把用户名、密码,数据库地址单独放在一个db.properties文件里,文件内容类似这样

driver=com.mysql.jdbc.Driver
 userName=root
 userPwd=root
 url=jdbc:mysql://localhost:3306/bank?useUnicode=true&characterEncoding=UTF8

然后JAVA里面这么写

Properties pps =new Properties();
pps.load(id);
Class.forName(pps.getProperty("driver"));
DriverManager.getConnection(pps.getProperty("url"), pps.getProperty("userName"), pps.getProperty("userPwd"));
)

   JDBC增删改查

     增删改

       1、创建发送器:

        通过Connection对象 创建Statement对象(发送器)

        Statement st = con.createStatement();

       2、通过Statement 的一个方法, executeUpdate(String sql)

            如果在sql语句中要添加变量的话,应通过connection对象创建prepareStatement对象,代码如下

            Double fee =100.00;

            PreparedStatement ps = con.preparedStatement("update bank set money=?");//问号表示待添加字符

            ps.setDouble(1, fee);//输入一个double型变量fee在第一个?位置。

            ps.executeUpdate();

       3、返回受影响行数,int 类型。

       注意:sql后面不需要额外加分号,程序自动加。只能写一条,不可以写多条语句。

     查

       1、创建发送器 Statement st = con.createStatement();

       2、通过Statement的executeQuery(String sql);

            同样要在查询语句中添加变量,夜莺创建prepareStatement对象,代码如下

Double fee =100.00;
            PreparedStatement ps = con.preparedStatement("select * from where money=?");
            ps.setDouble(1, fee);
            Resultset rs=ps.executeQuery;

       3、返回结果集Resultset

         解析ResultSet,提供了getXxxx()

         getInt(1),getString("s_name"),getObject(1);

         getInt(当前列数),getString("字段名称")

   关闭资源

     倒着关闭

   JDBC操作数据库步骤:

     1、导jar包

     2、注册驱动

     3、创建发送器

     4、发送sql语句(执行)

     5、处理执行结果

     6、释放资源te

   Statement类

     int executeUpdate(String sql) 增删改、三剑客

     ResultSet executeQuery(String sql) 查询

     boolean execute(String sql) 全部sql

     boolean 值指的是有没有结果集

     执行查询有结果集则需要调用getResultSet()获取结果集

     没有结果集则调用getUpdateCount()获取更新条数