您的位置:首页 > 编程语言 > Java开发

java连接数据库mysql

2011-11-06 19:55 344 查看
   java连接数据库的方法:

第一步:加载数据库Class.forName(数据库驱动).例如:Class.forName("com.mysql.jdbc.Driver");

第二步:连接数据库DriverManager.getConnection(url,username,password).

第三步:声明mysql语句:如:PreparedStatement prp;

第四步:执行命令execute(),executeQuary(),executeUpdate();

实例:

1.先创建表

create  table student ( sid  int (10),

name vachar(9),

sex varchar(4),

score double);

2.连接数据库,实现插入数据和查找

import java.sql.*;

import java.util.*;

publi class Test{

private Connection con;

private url= "jdbc:mysql://localhost:3306/test";

    static {        //静态初始化块,声明连接

     try {

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

      con = DriverManager.getConnection(url,"root","root");

     } catch (ClassNotFoundException e) {

    e.printStackTrace();

  } catch (SQLException e) {

 

   e.printStackTrace();

  }

  

 }

// 实现插入功能

public void insert(int id,String name,String sex,double score){

   boolean flag = false;

  String sql = "insert into student(sid,name,sex,score) values(?,?,?,?)";

try{

  PreparedStatement prp = con.PrepareStatement(sql);

  prp.setInt(1,id);

 prp.setString (2,name);

  prp.setString (3,sex);

 prp.setDouble(4,score);

int i = prp.executeUpdate();

if(i>0){

  flag = true;

}

}catch(SQLException e){

}

close(null,prp);

return flag;

}

// 查找功能

public void  result(){

 ResultSet rs;

  String sql = "select sid,name,sex,score from student";

try{

  PreparedStatement prp = con.PrepareStatement(sql);

  rs = prp.executeQuary();

 while(rs.next()){

     System.out.println(rs.getInt(1));

    System.out.println(rs.getString(2));

     System.out.println(rs.getString(3));

    System.out.println(rs.getDouble(4));

  }

close(rs,prp);

}

}catch(SQLException e){

}

public void close(ResultSet rs,PrepareStatement prp){

try {

   if(rs!=null)

    rs.close();

   if(prp!=null)

       prp.close();

  } catch (SQLException e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }}

public static void main(String args[]){

 Test test = new Test();

 test.insert(1001,"张飒","男",99.0);

test.result();

}}

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息