java连接SQL数据库

java连接SQL数据库,第1张

import java.sql.ResultSet//都是导入一些下面需要用到的类

String ConnStr="jdbc:microsoft:sqlserver://WINJUE:1433DatabaseName=library"//jdbc连接数据库url

public sqlServer() {

try {

Class.forName(DBDriver).newInstance() //加载SQLServer驱动程序,DBDriver是你上面的代码

conn=DriverManager.getConnection(ConnStr,"sa","sa")//和数据库建立连接,ConnStr里面的://WINJUE:1433DatabaseName=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 中。

要下载Microsoft JDBC Driver for SQL Server,获取到jdbc连接SQL Server 的jar包

如果是java项目在项目里面建立一个lib的文件夹放jar包,然后选择lib文件夹下的所有jar包,鼠标右击build path ,add jar

如果是web项目就把jar复制到WEB-INF/lib目录下

获取数据库连接的代码,修改代码中的username和password与本地的相同。

public class DataAccess {

public DataAccess(){

try{

jbInit()

}catch(Exception e){

e.printStackTrace()

}

}

private void jbInit() {

// TODO Auto-generated method stub

}

public Statement connect()

{

try{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")

String url="jdbc:microsoft:sqlserver://localhost:1433databasename=LabManage"

String user="sa"

String password="1"

Connection con=DriverManager.getConnection(url,user,password)

Statement st=con.createStatement()

return st

}

catch(SQLException e){

System.out.println("请检查SQL数据库是否连接!")

}

catch (ClassNotFoundException e){

e.printStackTrace()

}

return null

}

测试数据库是否连接成功!

JDBC连接不同数据库的写法如下:

1、Oracle8/8i/9i数据库(thin模式)

Class.forName("oracle.jdbc.driver.OracleDriver") 

String url="jdbc:oracle:thin:@localhost:1521:orcl" //orcl为数据库的SID 

String user="test" 

String password="test" 

Connection conn= DriverManager.getConnection(url,user,password)

2、SQL Server2005及以上版本数据库

Class.forName("com.microsoft.sqlserver.SQLServerDriver"); 

String url="jdbc:sqlserver://localhost:1433DatabaseName=mydb" 

//mydb为数据库 

String user="sa" 

String password="" 

Connection conn= DriverManager.getConnection(url,user,password)

3、MySQL数据库

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

String url ="jdbc:mysql://localhost/myDB?

user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" 

//myDB为数据库名 

Connection conn= DriverManager.getConnection(url)

4、DB2数据库

Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance() 

String url="jdbc:db2://localhost:5000/sample" //sample为你的数据库名 

String user="admin" 

String password="" 

Connection conn= DriverManager.getConnection(url,user,password)

5、Sybase数据库

Class.forName("com.sybase.jdbc.SybDriver").newInstance() 

String url =" jdbc:sybase:Tds:localhost:5007/myDB"//myDB为你的数据库名 

Properties sysProps = System.getProperties() 

SysProps.put("user","userid") 

SysProps.put("password","user_password") 

Connection conn= DriverManager.getConnection(url, SysProps)

6、Informix数据库

Class.forName("com.informix.jdbc.IfxDriver").newInstance() 

String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver 

user=testuserpassword=testpassword" //myDB为数据库名 

Connection conn= DriverManager.getConnection(url)

7、PostgreSQL数据库

Class.forName("org.postgresql.Driver").newInstance() 

String url ="jdbc:postgresql://localhost/myDB" //myDB为数据库名 

String user="myuser" 

String password="mypassword" 

Connection conn= DriverManager.getConnection(url,user,password)

8、access数据库直连用ODBC的

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") 

String url="jdbc:odbc:Driver={MicroSoft Access Driver 

(*.mdb)}DBQ="+application.getRealPath("/Data/ReportDemo.mdb")

Connection conn = DriverManager.getConnection(url,"","")

Statement stmtNew=conn.createStatement() 


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10033665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存