JDBC
针对各种不同版本的数据库,不同的只是引入的驱动和连接地址,写法大体上一致。
MSSQL:
需要下载sqljdbc驱动,解压包有两个jar, sqljdbc.jar && sqljdbc4.jar,在项目中加入驱动。
Notice:
sqljdbc.jar支持JDK1.5及以下版本,高于1.5会出错!
sqljdbc4.jar支持JDK1.6及以上版本,低于1.6会出错!
主要实现模型:
private Connection con;
private String user = "sa";//登录SQL SERVER的用户名
private String password = "";//登录SQL SERVER的密码
private String className="com.microsoft.sqlserver.jdbc.SQLServerDriver";//驱动地址
private String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";//连接地址
public GetConnection(){
try{
ClassforName(className);//加载驱动
}catch(ClassNotFoundException e){
Sysrem.out.println("驱动加载失败!");
e.printStackTrace();
}
}
public Connection getCon(){
try{
con = DriverManager.getConnection(url,user,password);
}catch(SQLException e){
System.out.println("数据库连接失败!");
con = null;
e.printStackTrace();
}
return con;
}
MYSQL:
需要下载mysql-connector-java-驱动。在项目中加入驱动。
实现模型:
import java.sql.*;
public class SQLT {
public static void main(String args[])
{
private String driver = "com.mysql.jdbc.Driver";//驱动地址
private String url = "jdbc:mysql://localhost:3306/test";//连接地址
private String user = "root";//登录用户名
private String password = "";//登录密码
try{
Class.forName(driver);//加载驱动
Connection conn = DriverManager.getConnection(url, user, password);//连接
if(!conn.isClosed()){
System.out.println("成功连接数据库!");
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
PSQL:
需要下载postgresql-jdbc4驱动;在项目中加入驱动。
Connection conn;
private String driver="org.postgresql.Driver";//驱动地址
private String url="jdbc:postgresql://localhost:5432/test";//连接地址
private String user = "user";//登录用户名
private String password = "password";//登录密码
try{
Class.forName(driver);
conn = DriverManager.getConnection(url,user,password);
}catch(ClassNotFoundException e1){
}catch(SQLException e2){
}
对于连接地址,其实都基本一样的。
private String url="jdbc:数据库类型://localhost:数据库端口号/数据库名;
对于编码的问题,有时候读取数据库的中文信息也会出现显示乱码,解决的方法主要在连接地址后面加上强制使用UTF-8(GBK、GB2312)等支持中文的编码即可。模型如下:
url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8";