jdbc的连接

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCTest {

    /**
     * JDBC---java database connectivity 
     * 指java对数据库进行相应操作(CRUD)的一种能力 
     * 需要第三方的jdbc的驱动包来实现对数据库的操作
     * 此驱动包由数据库厂商提供,要事先通过网络去官网或者第三方网站去下载这些jar文件
     * 主流的数据库:
     *     ORACLE
     *     SQLSERVER
     *     MYSQL
     *     DB2
     *     SYBASE
     * JAVA中操作数据库所需要用到的类和接口全部在
     * java.sql.*以及 javax.sql.*这些包中
     * 要完成对数据库表的一个基本操作,最常见的是
     * 一个类和三个接口,分别是:
     * 驱动管理类————DriverManager
     * 连接数据库时的接口——————Connection
     * 声明用的接口——————Statement
     * 结果集接口——————ResultSet
     * 
     * 用jdbc操作数据库的步骤:
     * 1.将第三方jar包放到工程的编译路径上-----外部导入或者内部引用
     *     1.1 外部导入:右键选中工程名---->Build Path--->configure builder path
     * ---->Libraries--->Add External JARS---->找到你自己电脑上存放的jar文件点击确定就OK了
     *     1.2 内部引用:首先在工程中创建一个目录(包),比如建个lib文件夹---->
     * 找到对应的第三方jar文件拷贝到lib目录中----->右键选中该jar文件---->
     * Build Path---> add to build path就OK了
     *     1.3 定义四个常量用来存储被访问的数据的驱动类、连接字符串、登录名、登录密码
     * 连接字符串:jdbc:sqlserver://地址:1433;databasename=student
     * 地址的编写方式:
     *          localhost:     本机
     *          127.0.0.1        本机
     *          192,168.0.61  网络中的IP地址
     *          Teacher      计算机名
     *          域名                 对应的就是internet中的IP地址
     *          
     * SQLSERVER的端口号为1433
     * ORACLE的端口号为1521
     * MYSQL的端口号为3306
     */
    
     //第一步 定义 数据的驱动类、连接字符串、登录名、登录密码
    public static final String DB_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    public static final String DB_URL = "jdbc:sqlserver://localhost:1433;databasename=student";
    public static final String DB_USER = "sa";
    public static final String DB_PASS = "sa";
    public static void main(String[] args) {
       //第二步 通过反射来加载数据库驱动类
        try {
            Class.forName(DB_DRIVER);
            //第三步 通过DriverManager驱动管理类来获得连接对象
            Connection conn = DriverManager.getConnection(DB_URL,DB_USER,DB_PASS);
//第四步 由获取到的连接对象conn来获得数据库声明对象(告诉数据库要执行的操作) Statement st = conn.createStatement();
//第五步 编写对数据库操作的命令——————sql语句 String sql = "select * from student order by stuId"; //第六步 由声明对象最后向数据库发出执行的相关命令并返回对应的结果 /* * 1.如果要做查询,一般用声明对象中的executeQuery()方法,该方法返回查询到 * 的数据结果集对象————ResultSet,如果ResultSet对象里有数据。我们可以通过 * 循环遍历数据 * 2.如果做增加、删除、修改,一般用声明对象的executeUpdate()方法,该方法返回的是 * 对数据库表操作之后所影响的行数————int整型数据,如果该数大于0表示成功进行了增删改的操作 * * 3.还可以通过一个execute方法完成增删查改的操作,该方法返回类型为boolean,如果为true(查询)表示 * 返回了结果集,否则没有(做增删改的操作) */ ResultSet rs = st.executeQuery(sql); //循环的第一要素 查询数据 //第七步 通过while循环遍历结果集对象 while (rs.next()) //第二、四要素 { /* * 在结果集对象种提供了一组丰富的getXXX()方法 * XXX表示的是数据的类型——————int、boolean、float...... * * 获取表中的数据的方式由2种: * 1.根据表中对应字段的索引来获值,索引从1开始,格式为 * rs.getInt(1),rs.getString(2)..... * 2.还可以根据对应字段的名字来获取它们的值,形如" * rs.getString("stuName") */ System.out.println(rs.getInt(1)+"\t"+rs.getString("stuName")); } //第八步 操作完数据库之后记得关闭相应的对象 /* * 先关结果集对象 * 再关声明对象 * 最后断开连接对象 */ rs.close(); st.close(); conn.close(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

**********************************************************************************************************************************插入数据

Class.forName(DB_DRIVER);
            //第三步 通过DriverManager驱动管理类来获得连接对象
            Connection conn = DriverManager.getConnection(DB_URL,DB_USER,DB_PASS);
            //第四步  由获取到的连接对象conn来获得数据库声明对象(告诉数据库要执行的操作)
             Statement st = conn.createStatement();
             //第五步 编写对数据库操作的命令——————sql语句
             String name = "jack";
             int age = 20;
             String sex = "男";
             String sql = "insert into student(stuId,stuName,stuSex,stuAge) values(7,"+"'"+name+"','"+sex+"',"+age+")";
             //insert into student(stuId,stuName,stuSex,stuAge) values(7,'jack','男',20)
             System.out.println("sql="+sql);
               int result = st.executeUpdate(sql);
               if (result>0) {
                System.out.println("插入数据成功!");
               }else{
                   System.out.println("插入数据失败!");   
               }
           st.close();
           conn.close();

 

**********************************************************************************************************************************修改数据

try {
            Class.forName(DB_DRIVER);
            Connection conn = DriverManager.getConnection(DB_URL,DB_USER,DB_PASS);
            String sql = "update student set stuSex= ?,stuName = ? ,stuAge=?, stuHobby = ? where stuId = ? ";

      // Statement st = conn.createStatement(); PreparedStatement st = conn.prepareStatement(sql);//prepareStatement比createStatement好 st.setString(1, "男"); st.setString(2, "刘德华"); st.setInt(3, 55); st.setString(4, "唱歌,演电影"); st.setInt(5, 1); int result = st.executeUpdate(); if (result>0) { System.out.println("修改数据成功!"); }else{ System.out.println("修改数据失败!"); } st.close(); conn.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }

 

posted @ 2016-08-16 10:32  tt香薷  阅读(220)  评论(0)    收藏  举报