java学习

java学习

 

java和数据库的连接(jdbc)

一.使用JDBC  API对数据库进行CRUD(create,receive,update,delete)操作,开发JDBC的步骤是:

package com.yjw.j3;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class Test {

public static void main(String[] args)  {

   Connection c = null;

   Statement s = null;

   ResultSet r = null;

   try {

      //1.加载数据库驱动(提供一个jdbc的数据库驱动的名称)

   Class.forName("com.mysql.jdbc.Driver");

      //2.获取数据库连接

      String a = "jdbc:mysql://localhost:3306/school";

       c = DriverManager.getConnection(a, "root", "root");

      //3.获取Statment对象(该对象用于对数据库进行CRUD操作)

       s = c.createStatement();

      //4.执行SQL语句

      String sql = "SELECT id,classname FROM t_class";

       r = s.executeQuery(sql);

      while(r.next()){

        int id = r.getInt("id");

        String b = r.getString("classname");

        System.out.println("id"+id+"\t"+"classname"+b);

       

      }

   } catch (Exception e) {

      e.printStackTrace();

   }finally{

      try {

        //5.释放连接

        r.close();

       

      } catch (Exception e2) {

        e2.printStackTrace();

      }finally{

        try {

           //5.释放连接

           s.close();

          

        } catch (Exception e3) {

           e3.printStackTrace();

        }finally{

           try {

              //5.释放连接

              c.close();

           } catch (Exception e4) {

              e4.printStackTrace();

           }

        }

      }

   }

  

}

}

二.在statement类的对象调用executeUpdate()方法用来对数据进行insert update,delete操作,该方法返回影响数据库的行数,对象调用executeQuery()方法用来对数据进行select操作,输出要使用while迭代器

三.释放连接时对象的顺序不能变,释放的顺序和创建对象的顺序相反

四.如果操作的事本地的数据库,在连接数据库时,有三种方法

1.”jdbc:mysql://本地ip:端口号/数据库名字

2.”jdbc:mysql://localhost:端口号/数据库名字

3.”jdbc:mysql:///数据库名字

五.如果不知道数据库列的数据类型,可以通过这三步在控制台上查看

1.输入:mysql –u用户名 –p密码

2.输入:use 数据库名

3.输入: desc  表名

posted @ 2011-11-09 08:52 杨军威 阅读(219) | 评论 (0)编辑 收藏

java中异常的处理

一.在java中的异常中,Throwable类有两个子类,ErrorException,在Exception类中有两个子类,RuntimeException(运行时异常)和非运行时异常,运行时异常是指只有在运行时才会报错的异常,不会编译错,但是非运行时异常是会编译错的,在运行前就报错了。

二.在cry {语句1}catchException e{语句2}finally{语句3}语句中,语句1放的是可能会发生异常的语句,语句2放的是发生异常后执行的语句,语句3放的是一定会执行的语句,不管有异常没有,

三。PrintStackTrace()方法用于输出有关的异常信息,包括异常的原因,以及该异常发生在类的第几行代码中,getMessage()方法用于返回异常相关的详细信息,但是无法跟踪到具体的行。

四.在自定义异常中,如果是继承自Exception类时,有两种方法处理

1.在有可能发生异常的方法中,在这个方法名后利用throws跑出自定义异常,

在对象调用此方法的时,需要对象自己利用try  catch语句处理此方法

2在有可能发生异常的方法中,自己利用try  catch语句处理异常,在对象调用此方法时,不在需要对象自己利用try  catch语句处理此方法,直接调用方法就可以

五.在自定义异常中,如果继承自RuntimeException类时,在对象调用此方法的时,需要对象自己利用try  catch语句处理此方法。

posted @ 2011-11-07 22:06 杨军威 阅读(295) | 评论 (0)编辑 收藏

mysql的感悟之三

一.在内连接中的等值连接中,适用于两个表,且两个表中都有共同的一项,根据这一项来连接两表中其他的项,但是如果不在where中约束两表中共同的一项相等,会产生笛卡尔积。

比如select  stuname,score  from  t_student,t_scores  where  t_student.id=t_sccores.stu_id;

标准的内连接是  select  stuname,scores  from  t_student  inner join  t_scores   on

T_student.id=t_scores.stu_id;

二.左连接会全部显示左边的信息,比如  select   stuname,score  from  t_student

Left   join   t_scores  on  t_student.id=t_scores.stu_id;

三.只要是几个表的连接查询,都要在其中直接连接的两个表中找到相同的项,作为纽带,查询其他的列。

四.表之间的关系包括11,1对多,多对多,其中11 时比如建立人的表和身份证表,他们是11的,在建立身份证表时,表的id号不是自动增长的,并且id即使身份证表的主键,也是人表的外键,也就是说id不但不能重复,还要一定时人表中存在的,11的。

1对多时,比如人表和银行卡表,一个人可以有多个银行卡,但是一个银行卡只能属于一个人,所以把人的id放在银行卡表中,作为人表的外键,也就是说,在1对多时,在多的表中存放1的主键。

在多对多时,比如学生表和课程表,一个学生可以选多个课,一个课可以有多个学生上课,这就是多对多的情况,需要建立第三张关系表,在关系表中包括学生表和课程表的俩主键,这俩主键也是关系表的主键,

posted @ 2011-11-07 11:08 杨军威 阅读(304) | 评论 (0)编辑 收藏

我的mysql学习的一点感想

mysql中,group by 分组后,可用sun()来计算每组的莫一列的内容和,比如价格总额,数量总额,count()是用来计算列的个数和,不是内容和,

在查询中,关键字的使用顺序是1.select2.from3.where4.group by5.having

6.order by7.limit

在子查询中又是可以把子查询分解为几个单表查询,最后再整合在一起

在相关子查询中,比如SELECT customers.cust_id, customers.cust_name,(SELECT COUNT(*) FROM orders WHERE orders.cust_id=customers.cust_id) FROM customers;中是先在customers表中拿到第一个cust_id 带到小括号里进行比对,如果有相同的就计算总和,没有相同的为0,以此类推,最后算出结果,

posted @ 2011-11-06 22:25 杨军威 阅读(353) | 评论 (0)编辑 收藏

我的MYSQL的学习

       数据库就是用来保存有组织数据的容器,数据库软件应该成为DBMS(数据库管理系统),数据库是通过DBMS来操作的容器。用户不能直接操作数据库,是通过数据库管理系统来操作数据库的,常见的数据库管理系统有SQLServer,MYSQL,Oracle,Db2等。
      数据库元素包括视图,存储过程,触发器,用户,表等。SQL的全称是Structured Query Language结构化查询语言,所有的DBMS都支持SQL语言,并且会在SQL语言中有一些发展,SQL语言是不区分大小写的。

posted @ 2011-11-04 21:31 杨军威 阅读(126) | 评论 (0)编辑 收藏

仅列出标题
共43页: First 上一页 35 36 37 38 39 40 41 42 43 

导航

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜