public final static String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 数据库驱动 public final static String URL = "jdbc:sqlserver://IP地址:端口;DataBaseName=数据库名"; // url public final static String DBNAME = "用户名"; // 数据库用户名 public final static String DBPASS = "密码"; // 数据库密码
//Oracle JDBS驱动
String driverName = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String username = "scott";
String password = "tiger";
//1.加载驱动
try {
Class.forName(driverName);//通过反射,显示加载驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//2.创建连接
try {
conn = DriverManager.getConnection(url, username, password);
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class BaseDao {
public final static String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 数据库驱动
public final static String URL = "jdbc:sqlserver://IP地址:端口;DataBaseName=数据库名"; // url
public final static String DBNAME = "用户名"; // 数据库用户名
public final static String DBPASS = "密码"; // 数据库密码
/**
* 得到数据库连接
* @throws ClassNotFoundException
* @throws SQLException
* @return 数据库连接
*/
public Connection getConn() throws ClassNotFoundException, SQLException{
Class.forName(DRIVER); //注册驱动
Connection conn = DriverManager.getConnection(URL,DBNAME,DBPASS); //获得数据库连接
return conn ; //返回连接
}
/**
* 释放资源
* @param conn 数据库连接
* @param pstmt PreparedStatement对象
* @param rs 结果集
*/
public void closeAll( Connection conn, PreparedStatement pstmt, ResultSet rs ) {
/* 如果rs不空,关闭rs */
if(rs != null){
try { rs.close();} catch (SQLException e) {e.printStackTrace();}
}
/* 如果pstmt不空,关闭pstmt */
if(pstmt != null){
try { pstmt.close();} catch (SQLException e) {e.printStackTrace();}
}
/* 如果conn不空,关闭conn */
if(conn != null){
try { conn.close();} catch (SQLException e) {e.printStackTrace();}
}
}
/**
* 执行SQL语句,可以进行增、删、改的操作,不能执行查询
* @param sql 预编译的 SQL 语句
* @param param 预编译的 SQL 语句中的‘?’参数的字符串数组
* @return 影响的条数
*/
public int executeSQL(String preparedSql,String[] param) {
Connection conn = null;
PreparedStatement pstmt = null;
int num = 0;
/* 处理SQL,执行SQL */
try {
conn = getConn(); // 得到数据库连接
pstmt = conn.prepareStatement(preparedSql); // 得到PreparedStatement对象
if( param != null ) {
for( int i = 0; i < param.length; i++ ) {
pstmt.setString(i+1, param[i]); // 为预编译sql设置参数
}
}
num = pstmt.executeUpdate(); // 执行SQL语句
} catch (ClassNotFoundException e) {
e.printStackTrace(); // 处理ClassNotFoundException异常
} catch (SQLException e) {
e.printStackTrace(); // 处理SQLException异常
} finally {
closeAll(conn,pstmt,null); // 释放资源
}
return num;
}}
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;/**
* JDBC连接数据库
*
* @author Administrator
*
*/
public class DBUConnection
{
private static final String URL = "jdbc:mysql://localhost:3306/dome"; private static final String USER_SIZE = "com.mysql.jdbc.Driver"; private static final String USER = "root"; private static final String PWD = "mysql"; // 加载Mysql驱动
static
{
try
{
Class.forName(USER_SIZE);
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
} // 获得数据库连接
public static Connection getConnection()
{
Connection conn = null;
try
{
conn = DriverManager.getConnection(URL, USER, PWD);
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
} // 关闭数据库流
public static void classAll(Connection conn, Statement state, ResultSet rs)
{
try
{
if (rs != null)
{
rs.close();
}
if (state != null)
{
state.close();
}
if (conn != null)
{
conn.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
} // 测试连接
public static void main(String[] args)
{
System.out.println(DBUConnection.getConnection());
}}
路径是URL URL 代表的是获得数据库连接, 连接数据库好像不存在路径问题
如果非要说的话,是算绝对路径的。
本来就是项目外联的存在,不可能写相对路径
private static final String 请教为什么在连接数据库/加载驱动/连接数据库密码和帐户/要设置上述4个关键字?
1.private:表示私有,私有就是除了class自己之外,任何人都不可以直接使用
2.static: 在静态方法中不能调用非静态的方法和引用非静态的成员变量
3.String就不要说了吧 呵呵 这样定义的好处现在应该也知道了吧?