JAVA连接SQL数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA连接SQL数据库相关的知识,希望对你有一定的参考价值。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
/**
* @author Administrator
*
*/
public class sqlServer
String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String ConnStr="jdbc:microsoft:sqlserver://WINJUE:1433;DatabaseName=library";
ResultSet rs=null;
private Connection conn;
///////////////////////////////////建立连接//////////////////////////////////////////////////////////////////
public sqlServer()
try
Class.forName(DBDriver).newInstance();
conn=DriverManager.getConnection(ConnStr,"sa","sa");
catch(SQLException e)
System.out.println(e.getMessage());
catch(Exception e)
System.out.println(e.getMessage());
public Connection getConn() //获取连接方法
return conn;
public void insert(String sql) //增删改
try
Statement stm=conn.createStatement();
stm.executeUpdate(sql);
System.out.println("操作成功");
catch(Exception e)
System.out.println(e.getMessage());
public ResultSet query(String sql) //查询
try
Statement stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stm.executeQuery(sql);
catch(Exception e)
System.out.println(e.getMessage());
return rs;
public static void main(String args[])
sqlServer conn=new sqlServer();
ResultSet rs=conn.query("select * from Orders");
//conn.insert("delete from BookInfo where BookName =" +"\'悟空传\'");
//conn.insert("insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,'悟空传','今何在','孙悟空')");
try
while(rs.next())
System.out.print(rs.getString("OrderID"));
//System.out.print(rs.getString("U_age"));
rs.close() ;
catch (Exception e)
System.out.println(e.getMessage());
请解释每句的含义 越详细越好
各位帮忙啊 好的会再追50分
如果大多都是系统生成的. 那只要指出哪些是自己需要填写的.
比如数据库名字 表什么的.最好详细点.
String ConnStr="jdbc:microsoft:sqlserver://WINJUE:1433;DatabaseName=library";//jdbc连接数据库url
public sqlServer()
try
Class.forName(DBDriver).newInstance(); //加载SQLServer驱动程序,DBDriver是你上面的代码;
conn=DriverManager.getConnection(ConnStr,"sa","sa"); //和数据库建立连接,ConnStr里面的://WINJUE:1433;DatabaseName=library 分别是主机地址:端口号;你自己建的数据库(database)
catch(SQLException e) //捕获SQL异常
System.out.println(e.getMessage()); //要是出现异常,捕获到后,这句代码会把异常的信息(出错的原因之类的)打印出来。
catch(Exception e) //捕获异常,这个是总的,所以不能和上面的顺序颠倒,先小到大,我连ORACLE和mysql,这个我通常不要,只须捕获SQL异常就OL
System.out.println(e.getMessage());
public Connection getConn() //获取连接方法
return conn;
public void insert(String sql) //增删改
try
Statement stm=conn.createStatement(); 调用conn下的方法,创建Statement对象
stm.executeUpdate(sql);//调用Statement下的方法执行SQL语句
System.out.println("操作成功");
catch(Exception e)
System.out.println(e.getMessage()); //如上
public ResultSet query(String sql) //查询
try
Statement stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stm.executeQuery(sql); //如上
catch(Exception e)
System.out.println(e.getMessage());
return rs;
public static void main(String args[])
sqlServer conn=new sqlServer(); //创建sqlServer,就是你上面的类,以便调用里面的方法
ResultSet rs=conn.query("select * from Orders"); //调用query方法,执行SQL语句后,把结果保存到结果集里
//conn.insert("delete from BookInfo where BookName =" +"\'悟空传\'");
//conn.insert("insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,'悟空传','今何在','孙悟空')");
try
while(rs.next()) //循环,判断结果集里的记录,一条条往下走,是否还有下一条记录,若是返回真,继续走
System.out.print(rs.getString("OrderID"));
//System.out.print(rs.getString("U_age"));
rs.close() ; //关闭结果集
catch (Exception e)
System.out.println(e.getMessage());
注:
TYPE_FORWARD_ONLY:缺省类型。只允许向前访问一次,并且不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_INSENSITIVE:允许在列表中向前或向后移动,甚至能进行特定定位,例如移至列表中的第四个记录或从当前位置向后移动两个记录。不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 相同,允许在记录中定位。这种类型受到其他用户所作更改的影响。如果用户在执行完查询之后删除一个记录,那个记录将从 ResultSet 中消失。类似的,对数据值的更改也将反映在 ResultSet 中。 参考技术A
本文将介绍使用java连接sqlserver数据库
工具/材料
myeclipse 、 SqlServer数据库
方法:
1、要向连接数据库,首先应该保证数据库服务打开
2、数据库服务打开之后就可以在环境中编写连接代码了。如图:
连接数据库就是这两个步骤:1)加载驱动、2)创建连接。
注意在导包是导入的java.sql下的。
接下来直接运行一下就可以测试是否连接成功了
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
/**
* @author Administrator
*
*/
public class sqlServer
//驱动 不需要改
String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
//连接路径 library 数据库名字 你的就改成自己的
String ConnStr="jdbc:microsoft:sqlserver://WINJUE:1433;DatabaseName=library";
ResultSet rs=null;
private Connection conn;
///////////////////////////////////建立连接//////////////////////////////////////////////////////////////////
public sqlServer()
try
Class.forName(DBDriver).newInstance();
// sa sa SQL SERVER用户名 密码
conn=DriverManager.getConnection(ConnStr,"sa","sa");
catch(SQLException e)
System.out.println(e.getMessage());
catch(Exception e)
System.out.println(e.getMessage());
public Connection getConn() //获取连接方法
return conn;
//输入 sql 语句
public void insert(String sql) //增删改
try
Statement stm=conn.createStatement();
stm.executeUpdate(sql);
System.out.println("操作成功");
catch(Exception e)
System.out.println(e.getMessage());
public ResultSet query(String sql) //查询
try
Statement stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stm.executeQuery(sql);
catch(Exception e)
System.out.println(e.getMessage());
return rs;
public static void main(String args[])
sqlServer conn=new sqlServer();
ResultSet rs=conn.query("select * from Orders"); //查询 Orders 表
//conn.insert("delete from BookInfo where BookName =" +"\'悟空传\'");
//conn.insert("insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,'悟空传','今何在','孙悟空')");
try
while(rs.next())
System.out.print(rs.getString("OrderID"));
//System.out.print(rs.getString("U_age"));
rs.close() ;
catch (Exception e)
System.out.println(e.getMessage());
//下面的是我给你写个。比你用的清楚点。
package sql;
import java.sql.Connection;
import java.sql.DriverManager;
/**
* @author muren
* 获取SQL SERVER 连接的帮助类
*/
public class DBClass
//连接
private Connection conn=null;
//驱动
private String drive="com.microsoft.jdbc.sqlserver.SQLServerDriver";
//连接路径
private String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=muren";
//SQL SERVER用户名
private String sqlUser="sa";
//密码
private String sqlPwd="";
public DBClass()
/** 获取SQL SERVER 连接
* @return 连接
*/
public Connection getConn()
try
//加载SQL SERVER驱动
Class.forName(drive);
//获取连接
conn=DriverManager.getConnection(url,sqlUser,sqlPwd);
catch (Exception e)
e.printStackTrace();
return conn;
/**
* 关闭连接
*/
public void Close()
if(this.conn != null)
try
this.conn.close();
catch (Exception e)
e.printStackTrace();
//-----------------------------------------
//package sql;
import java.sql.*;
import java.util.Hashtable;
import java.util.Vector;
/**
* @author muren
* SQL SERVER 操作类
*/
public class DBContr
private Statement st=null;
private ResultSet rs=null;
DBClass db=null;
public DBContr()
/** 执行SQL语句 (增加,修改,删除)
* @param sql sql语句
* @return 影响行数 修改是否成功 大于0就成功
*/
public int insert(String sql)
db=new DBClass();
int result=0;
try
st=db.getConn().createStatement();
result=st.executeUpdate(sql);
catch (Exception e)
e.printStackTrace();
finally
db.Close();
return result;
/**根据传递的userinfo SQL 语句执行
* @param sql SQL 语句 //select * from userInfo where id =1
* @return
*/
public Vector ExecQutry(String sql)
db=new DBClass();
Vector vt=new Vector();
try
st=db.getConn().createStatement();
rs=st.executeQuery(sql);
while(rs.next())
UserInfoBean ub=new UserInfoBean();
ub.setId(rs.getInt("id"));
ub.setName(rs.getString("name"));
ub.setPwd(rs.getString("pwd"));
vt.add(ub);
catch (Exception e)
e.printStackTrace();
finally
db.Close();
return vt;
//----------------------------------------
//package sql;
/**用户信息
* @author muren
*
*/
public class UserInfoBean
private int id=0;
private String name="";
private String pwd="";
public int getId()
return id;
public void setId(int id)
this.id = id;
public String getName()
return name;
public void setName(String name)
this.name = name;
public String getPwd()
return pwd;
public void setPwd(String pwd)
this.pwd = pwd;
参考技术C package com.jpioneer.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
/**
* @author Administrator
*
*/
public class SQLServer
//sqlserver的驱动程序,由3个包组成,要是没有的话到网上下一个。
String DBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
//连接的url,jdbc:microsoft:sqlserver://---前面的是连接协议,子协议,WINJUE---计算机名称、或者是IP,DatabaseName=library---数据库名称
String ConnStr = "jdbc:microsoft:sqlserver://WINJUE:1433;DatabaseName=library";
ResultSet rs = null;
private Connection conn;
///////////////////////////////////建立连接/////////////////////////////////////
// /////////////////////////////
public SQLServer()
try
//加载驱动程序
Class.forName(DBDriver).newInstance();
//利用驱动管理程序得到数据库的连接
conn = DriverManager.getConnection(ConnStr, "sa", "sa");
catch (SQLException e)
System.out.println(e.getMessage());
catch (Exception e)
System.out.println(e.getMessage());
public Connection getConn() // 获取连接方法
return conn;
/**
* @param sql 要执行的添加sql语句如:insert into users(userName,password) values('userName1','123')
*/
public void insert(String sql) // 增删改
try
Statement stm = conn.createStatement();
stm.executeUpdate(sql);
System.out.println("操作成功");
catch (Exception e)
System.out.println(e.getMessage());
/**
* @param sql 要查询的sql语句
* @return 返回查询的结果集
*/
public ResultSet query(String sql) // 查询
try
//ResultSet.TYPE_SCROLL_SENSITIVE-------允许对得到的结果集进行指针的跳跃
//ResultSet.CONCUR_UPDATABLE-----运行行更新
Statement stm = conn
.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = stm.executeQuery(sql);
catch (Exception e)
System.out.println(e.getMessage());
return rs;
public static void main(String args[])
SQLServer conn = new SQLServer();
//得到Orders表中的所有结果
ResultSet rs = conn.query("select * from Orders");
// conn.insert("delete from BookInfo where BookName =" +"\'悟空传\'"); // 删除书名为悟空传的所有的书
// conn.insert(
// "insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,'悟空传','今何在','孙悟空')"
// );//添加图书信息其中包括BookID,BookName,Author,KeyWord这么几列的值
try
while (rs.next())
//打印出orders表中的所有的订单ID
System.out.print(rs.getString("OrderID"));
// System.out.print(rs.getString("U_age"));
rs.close();
catch (Exception e)
System.out.println(e.getMessage());
参考技术D 这个是JAVA直连得驱动呀
你去买本书看看不知道你代码拿来来得!!
public static void main(String args[])
这个里面sqlServer conn=new sqlServer(); //获得数据库连接
ResultSet rs=conn.query("select * from Orders"); 这个用一个结果集查询Orders里面得所有
while(rs.next())
System.out.print(rs.getString("OrderID")); //打印出这个OrderID得内容?
顺便问你下你自学还是有老师教,改好好看书了
java 连接oracle数据库
package shujuku; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class basedao { Connection conn=null; PreparedStatement ps; ResultSet rs=null; int rs1; public void getConnection() { try{ //class.name 加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); //获取数据库链接 conn=DriverManager.getConnection("jdbc:oracle:thin:@20.12.2.50:1521:ora11g","lzt02","1"); }catch(ClassNotFoundException e){e.printStackTrace();} catch(Exception e){e.printStackTrace(); } //if(conn!=null){System.out.println("数据库链接成功");} } //关闭链接 public void closeall() { try{ if(rs!=null) { rs.close(); } if(ps!=null) { ps.close(); } if(conn!=null) { conn.close(); } }catch(Exception e ){} } //执行操作 public ResultSet execute(String sql,Object[] params,int flag) { getConnection(); try{ ps=conn.prepareStatement(sql); if(params !=null) { for(int i=0;i<params.length;i++) { ps.setObject(i+1, params[i]); } } if(flag==0){ rs=ps.executeQuery(); return rs;} else if(flag==1){ rs1=ps.executeUpdate(sql); if(rs1==1){System.out.println("插入成功");} } }catch(SQLException e){e.printStackTrace();} return null; } // public static void main(String[] args) { // // TODO Auto-generated method stub // basedao bd=new basedao(); // bd.getConnection(); // } }
以上是关于JAVA连接SQL数据库的主要内容,如果未能解决你的问题,请参考以下文章