首页 > 技术文章 > java链接数据库--Mysql

by-1075324834 2016-06-10 00:44 原文

/*************************************************************************
  > File Name: Mysql.java
  > Author: Baiyan
  > 题意:
  > Created Time: 2016年06月04日 星期六 01时03分32秒
 **********************************************************************/
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import java.sql.Statement;


public class Mysql
{
    public static void main(String[] args) throws Exception
    {
        Connection conn = null;
        String url = "jdbc:mysql://localhost:3306/sample?"+"user=root&password=www1964878036&useUnicode=true&characterEncoding=UTF-8";
        //先加载Mysql驱动类;
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("驱动加载成功!");
            conn = (Connection) DriverManager.getConnection(url);
            //connection 代表一个数据库的链接;
            //
            //要执行sql语句必须获得java.sql.Statement实例;
            Statement stmt = conn.createStatement();
            //Statement 实例有以下三种:
            //执行静态的sql语句,通过Statement 实例实现;
            //执行动态的sql语句,通过PreparedStatement实例实现;
            //执行数据库存储过程,通常通过CallableStatement实例实现;
            //上面是其中一种,下面给出另外两种;
            //
            //PreparedStatement pstmt = conn.preparesStatement(sql);
            //CallableStatement cstmt = con.prepareCall("{CALL demoSp(?,?)}");
            //
            //然后是执行sql语句;
            //有三种执行sql语句的方法
            //executeQuery、executeUpdate、execute
            //
            //说一下三者的用法
            String Sql="create table student(id char(20), name char(20),primary key(id))";
            int result = stmt.executeUpdate(Sql); //返回受影响的行数;
            //返回-1就表示没有成功;
            ResultSet rs = null;
            if(result != -1)
            {
                Sql = "insert into student(id,name) values('1234','biayan')";
                result = stmt.executeUpdate(Sql);
                Sql="select * from student";
                rs = stmt.executeQuery(Sql);
                //这句返回结果集合;
                while(rs.next())
                {
                    System.out.println(rs.getString(1)+"\t"+rs.getString(2));
                }
            }
            //可以看出,Query用于处理查询类的;
            //Update用于Insert、Update、delete、Drop;
            //另一个用于组合的语句;
            //对于结果集也可以使用getString("name")的方式活取内容;
            //列是从1开始编号的;
            //
            //
            //然后要关闭连接;
            if(rs!=null)//关闭记录集;
            {try
                {
                    rs.close();
                }catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
            if(stmt !=null)//关闭声明;
            {
                try{
                    stmt.close();
                }catch(SQLException e){
                    e.printStackTrace();
                }
            }
            if(conn!=null)
            {
                try
                {
                    conn.close();
                }catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }


        }catch (ClassNotFoundException e)
        {
            System.out.println("找不到驱动程类,加载驱动失败");
            e.printStackTrace();
        }
        //加载成功后,会将Mysql的Driver类的实例注册到DriverManger类中;

    }
}

 

推荐阅读