java连接SQL数据库
发布网友
发布时间:2022-04-23 02:41
我来回答
共9个回答
热心网友
时间:2022-04-07 19:00
import java.sql.ResultSet; //都是导入一些下面需要用到的类
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 中。
热心网友
时间:2022-04-07 20:18
本文将介绍使用java连接sqlserver数据库
工具/材料
myeclipse 、 SqlServer数据库
方法:
1、要向连接数据库,首先应该保证数据库服务打开
2、数据库服务打开之后就可以在环境中编写连接代码了。如图:
连接数据库就是这两个步骤:1)加载驱动、2)创建连接。
注意在导包是导入的java.sql下的。
接下来直接运行一下就可以测试是否连接成功了
热心网友
时间:2022-04-07 21:53
//你的大概的都给加了注释
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;
}
}
热心网友
时间:2022-04-07 23:44
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());
}
}
}
热心网友
时间:2022-04-08 01:52
这个是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得内容?
}
顺便问你下你自学还是有老师教,改好好看书了
热心网友
时间:2022-04-08 04:17
你的数据库连接太麻烦了,应该就写连接数据库的代码啊,
创建 DBConnection.java
package Models;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class ConnectionManager {
private static final String DRIVER_CLASS="com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static final String DATABASE_URL="jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=books";
private static final String DATABASE_USER="sa";
private static final String DATABASE_PASSWORD="sa";
public static Connection getConnection(){
Connection dbConnection=null;
try{
Class.forName(DRIVER_CLASS);
dbConnection=DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD);
}catch(Exception e){
e.printStackTrace();
}
return dbConnection;
}
//关闭连接
public static void closeConnection(Connection con){
try{
if(con!=null && (!con.isClosed())){
con.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
//关闭结果集
public static void closeResult(ResultSet res){
try{
if(res!=null){
res.close();
res=null;
}
}catch(Exception e){
e.printStackTrace();
}
}
//关闭语句
public static void closeStatement(PreparedStatement pStatement){
try{
if( pStatement!=null){
pStatement.close();
pStatement=null;
}
}catch(Exception e){
e.printStackTrace();
}
}
}
热心网友
时间:2022-04-08 06:58
没事好好看看课本
热心网友
时间:2022-04-08 09:56
不同的数据库的驱动有所不同,需要导入相应的驱动包哦。
热心网友
时间:2022-04-08 13:11
恩 我也需要 高手 快来