开发时经常用到数据库,如果把我们写过的连接数据库的功能代码分离出来,则能方便我们到处引用,不用写重复代码。
Microsoftsqlserver连接JAVA有个要注意的地方,就是MSSQL2000的连接驱动和2000以上的(2005、2008)是不同的,需要导入的Jar包也不同。
以下是代码。
package usage; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * * @Date: 2013-11-14 下午04:50:40 * @Author: gyh * @TODO: java连接数据库的功能类(sql server , mysql) */ public class DBConnection { // sql server 2000驱动地址 public static final String SQL_SERVER_2000_DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; // sql server 2005驱动地址 public static final String SQL_SERVER_2005_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // sql server 2008驱动地址 public static final String SQL_SERVER_2008_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // mysql驱动地址 public static final String MYSQL_DRIVER = "com.mysql.jdbc.Driver"; /** * 数据库地址:localhost可以换为你数据库的实际IP地址(一般为本地,学习用,也可以换为127.0.0.1), * test为你数据库的名字,按实际情况而定,1433为数据库端口,可以在sql server configure center中查看。 */ public static final String SQL_SERVER_URL = "jdbc:sqlserver://localhost:1433;databasename="; public static final String MYSQL_URL = "jdbc:mysql://localhost:3306/"; private Connection conn; /** * 加载驱动 * * @param DriverName * 驱动名 */ public DBConnection(String DriverName) throws ClassNotFoundException { Class.forName(DriverName); } /** * 连接到sql server服务器 默认sa登录,无登录密码 * * @param databaseName * 数据库名称 * @return * @throws SQLException */ public Connection connectToMSSQL(String databaseName) throws SQLException { conn = DriverManager.getConnection(SQL_SERVER_URL + databaseName, "sa", ""); return conn; } /** * 连接到sql server服务器 * * @param dbName * 数据库名称 * @param username * 数据库登录名 * @param password * 数据库登录密码 * @return * @throws SQLException */ public Connection connectToMSSQL(String dbName, String username, String password) throws SQLException { conn = DriverManager.getConnection(SQL_SERVER_URL + dbName, username, password); return conn; } /** * 连接到mysql服务器,默认端口3306 * * @param username * 用户名 * @param password * 登录密码 * @return * @throws SQLException */ public Connection connectToMysql(String dbName, String username, String password) throws SQLException { conn = DriverManager.getConnection(MYSQL_URL + dbName, username, password); return conn; } public void close() throws SQLException { if (conn != null) conn.close(); } public static void main(String arsg[]) { try { new DBConnection(DBConnection.SQL_SERVER_2000_DRIVER) .connectToMSSQL("test"); } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } }
使用的时候调用getConnection类即可。