eclipse连接my sql和连接sql server的区别

这个项目原本是在window上连接好sql server的,前段时间换了台mac电脑,没有装双系统,结果不能使用sql server。只能改连接my sql,折腾了一天。现贴上连接这两个数据库的代码对比图和一些细节区别。

连接sql server:

package dbBean;

import java.sql.*;

public class DBBean 

{

private String driverStr = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

private String connStr = "jdbc:sqlserver://localhost:1433;DatabaseName=TEST_06";

private String username="sa";//这里填数据库的用户名

private String password="sasa";//这里是数据库密码

private Connection conn = null;

private Statement stmt = null;


public DBBean() 

{

try {

Class.forName(driverStr); 

}

catch(ClassNotFoundException ex) {

System.out.println(ex.getMessage());

}

}

public void setDriverStr(String dstr)

{

driverStr=dstr;

}

public void setConnStr(String cstr)

{

connStr=cstr;

}

public ResultSet executeQuery(String sql) 

{

ResultSet rs = null;

try {

conn = DriverManager.getConnection(connStr,username,password); 

stmt = conn.createStatement();

rs = stmt.executeQuery(sql);

catch(SQLException ex) { 

System.out.println(ex.getMessage());

}

return rs;

}

public int executeUpdate(String sql)

{

int result=0;

try{

conn = DriverManager.getConnection(connStr,username,password);

stmt = conn.createStatement();

result = stmt.executeUpdate(sql);

}

catch(SQLException ex){

System.out.println(ex.getMessage());

}

return result;

}

public void close()

{

try{

stmt.close();

conn.close();

}

catch(SQLException ex){

System.out.println(ex.getMessage());

}

}

}



连接my sql:

package dbBean;

import java.sql.*;

public class DBBean 

{

private String driverStr = "com.mysql.jdbc.Driver";

private String connStr = "jdbc:mysql://127.0.0.1:3306/bookstore?useUnicode=true&characterEncoding=utf-8";

private String username="root";//数据库用户名

private String password="123456";//数据库密码

private Connection conn = null;

private Statement stmt = null;


public DBBean() 

{

try {

Class.forName(driverStr); 

}

catch(ClassNotFoundException ex) {

System.out.println(ex.getMessage());

}

}

public void setDriverStr(String dstr)

{

driverStr=dstr;

}

public void setConnStr(String cstr)

{

connStr=cstr;

}

public ResultSet executeQuery(String sql

{

ResultSet rs = null;

try {

conn = DriverManager.getConnection(connStr,username,password); 

stmt = conn.createStatement();

rs = stmt.executeQuery(sql);

catch(SQLException ex) { 

System.out.println(ex.getMessage());

}

return rs;

}

public int executeUpdate(String sql)

{

int result=0;

try{

conn = DriverManager.getConnection(connStr,username,password);

stmt = conn.createStatement();

result = stmt.executeUpdate(sql);

}

catch(SQLException ex){

System.out.println(ex.getMessage());

}

return result;

}

public void close()

{

try{

stmt.close();

conn.close();

}

catch(SQLException ex){

System.out.println(ex.getMessage());

}

}

}



可以看到,除了连接和加载驱动语句不同外,这两个数据库其它方法基本可以通用。但在细节方面需要注意的是:

1.连接sql server时,可以使用"select * from [user]..."语句,但my sql识别不了,必须去掉user的方括号。

2.sql server可以使用getdate()方法,但my sql不可以,需改为now()。

另外,不知道为什么,我将mysql-connector的jar包放在以jdbc命名的libraries里(以前都这样干),却连接不上my sql。把这个包单独拿出来,直接在build path处添加external jar,就连接成功。如下图。

不知缘由,但也是连接数据库出现问题时可以考虑的一种方法。



猜你喜欢

转载自blog.csdn.net/m0_38001425/article/details/80048337