JDBC连接数据库的两种方法(SqlServer 2000)
今天给大家带来一篇关于两种方法连接sqlserver数据库的方法,废话不说进入正题。
方法一:JDBC——ODBC连接方法
优点:不用引入java第三方的开发包。
缺点:因为中间又经过了一个ODBC所以对于数据量比较大的软件设计会比较卡一点,小型软件应该没有什么问题,需要额外的在控制面板中配置数据源。
-
配置数据源:
在控制面板中选择ODBC
二:
在此选项卡中选择————添加
在此选项卡中选择咱们的数据库 SQL Server
此处是为我们的数据源起一个名字 我们姑且先叫它test
服务器处 填上一个英文符号的 . 表示服务器是本地
选择混合登陆,并填上登陆数据库的用户帐号和密码
这个地方可以配置默认数据库, 就是你用程序连接的数据库 大家自己选吧!我要连接的是名叫Yp的数据库
看到这里出来了一个 test,数据源配置成功!
-
java连接数据库
java连接数据库不管用哪个方法都要导入一个包(import java.sql.*;)
核心代码:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//引入jdbc驱动,这个为路径大小写区分
Connection ct1=DriverManager.getConnection("jdbc:odbc:test","sa","123");//得到连接有三个参数 参数一:自己配置数据源的路径 (一般都只改jdbc:odbc:xxxxx),参数二:登陆账号名,参数三:登陆密码
Statement st1=ct1.createStatement();//得到一个statement对象,创建这个对象后就可以利用statement对象来向数据库传送sql语句
st1.executeUpdate("create table HERO(HeroId int,HeroName char(10))");//懂的人的一看就明白这个方法的参数就是一个标志的sql语句,的确此处将一个sql语句作为一个字符数组传参入executeUpdate()方法,最后传入数据库。
st1.executeUpdate("insert into HERO values(1,'张飞')"); //同上其实就是一个插入语句
executeUpdate() ----一般用于数据库操作语句,返回值为操作影响的行数
executeQuery()------一般用于查询语句,返回值为一个对象,可以利用循环结构将查询结果输出
具体用法请参考其他书籍
完整代码:
import java.sql.*;
public class test {
/**
* @param args
* @throws ClassNotFoundException
* @throws SQLException
*/
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("Success loading JDBC-ODBC driver");
Connection ct1=DriverManager.getConnection("jdbc:odbc:test","sa","123");//路径大小写无所谓,test为我刚才配置数据源所起的名称
System.out.println("Success loading JDBC-ODBC Connection");
Statement st1=ct1.createStatement();
st1.executeUpdate("create table HERO(HeroId int,HeroName char(10))");
st1.executeUpdate("insert into HERO values(1,'张飞')");
st1.executeUpdate("insert into HERO values(2,'赵云')");
st1.executeUpdate("insert into HERO values(3,'马超')");
st1.executeUpdate("insert into HERO values(4,'刘备')");
st1.executeUpdate("insert into HERO values(5,'糜蓝')");
st1.executeUpdate("insert into HERO values(6,'黄忠')");
st1.executeUpdate("insert into HERO values(7,'简雍')");
//不用的流一定要关闭
st1.close();
ct1.close();
}
}
方法二:直接用JDBC连接,优点缺点上面已经说过。
不用配置数据源
需要下载3个java开发包
要配置构建路径
到此三个外围包已经导入,然后就可以编写代码了!代码的思想与ODBC——JDBC连接差不多
核心代码:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//是sun公司的包与之前的不太一样
Connection ct1=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Yp","sa","123"); //1433是sqlserver的端口
Statement st1=ct1.createStatement();
st1.executeUpdate("insert into HERO values(1,'张飞')");
完整代码:
import java.sql.*;
public class test {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//是sun公司的包
Connection ct1=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Yp","sa","123");
Statement st1=ct1.createStatement();
st1.executeUpdate("insert into HERO values(1,'张飞')");
st1.executeUpdate("insert into HERO values(2,'赵云')");
st1.executeUpdate("insert into HERO values(3,'马超')");
st1.executeUpdate("insert into HERO values(4,'刘备')");
st1.executeUpdate("insert into HERO values(5,'糜蓝')");
st1.executeUpdate("insert into HERO values(6,'黄忠')");
st1.executeUpdate("insert into HERO values(7,'简雍')");
st1.close();
ct1.close();
}
}