JDBC连接数据库工具类及连接Access数据库示例
2013-07-29 13:07
555 查看
1、JDBC连接各个数据库时,存在很多相同的代码部分,把这些部分单独写在一个类里面,根据传入的driver、url、user、password这些参数连接到特定的数据库,工具类代码如下:
[java]
view plaincopy
<span style="font-size:16px;">package mine.util.database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 该工具类用于数据库连接,返回一个Statement对象,用户可以根据此对象执行sql语句获取结果
*/
public class DataBaseConnection {
public static final String ACCESS_DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
public static final String MYSQL_DRIVER = "com.mysql.jdbc.Driver";
public static final String ORACLE_DRIVER = "oracle.jdbc.driver.OracleDriver";
public static final String SQLSERVER_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private Statement st = null;
private Connection connection = null;
public Statement getStatement(String driver, String url, String user,
String password) {
try {
// 1、加载驱动程序
Class.forName(driver);
// 2、通过url建立连接,连接到数据库
connection = DriverManager.getConnection(url, user, password);
// 3、创建语句,connection可以看出缆道,Statement可以看出缆车
st = connection.createStatement();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return st;
}
public void close() {
try {
if (st != null)
st.close();
if (connection != null)
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
</span>
2、下面用JDBC-ODBC桥的方式连接Access数据库来测试一下这个工具类
首先,配置odbc源,如下所示:
数据源student.mdb中ST表信息如下
接下来就是写代码了,代码如下:
[java]
view plaincopy
<span style="font-size:16px;">package demo.database;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import mine.util.database.DataBaseConnection;
/*
* 用工具类DataBaseConnection,连接Access数据库示例
*/
public class AccessDemo {
public void connect() {
DataBaseConnection dbConn = new DataBaseConnection();
//返回Statement对象
Statement st = dbConn.getStatement(DataBaseConnection.ACCESS_DRIVER,
"jdbc:odbc:Access", "", "");
ResultSet rs = null;
try {
// 执行sql语句
rs = st.executeQuery("select * from ST ");
// 获取结果集中的信息
while (rs.next()) {// 注意rs当前指向null,须先next()移动到指向第一条记录
System.out.println(rs.getString("Sno") + " "
+ rs.getString("Sname") + " " + rs.getString("Ssex")
+ " " + rs.getInt("Sage") + " "
+ rs.getString("Sdept"));
}
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
dbConn.close();
}
public static void main(String[] args) {
new AccessDemo().connect();
}
}
</span>
运行结果:
测试完毕
3、常用数据库url
4、数据库数据类型与对应的java数据类型
[java]
view plaincopy
<span style="font-size:16px;">package mine.util.database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 该工具类用于数据库连接,返回一个Statement对象,用户可以根据此对象执行sql语句获取结果
*/
public class DataBaseConnection {
public static final String ACCESS_DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
public static final String MYSQL_DRIVER = "com.mysql.jdbc.Driver";
public static final String ORACLE_DRIVER = "oracle.jdbc.driver.OracleDriver";
public static final String SQLSERVER_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private Statement st = null;
private Connection connection = null;
public Statement getStatement(String driver, String url, String user,
String password) {
try {
// 1、加载驱动程序
Class.forName(driver);
// 2、通过url建立连接,连接到数据库
connection = DriverManager.getConnection(url, user, password);
// 3、创建语句,connection可以看出缆道,Statement可以看出缆车
st = connection.createStatement();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return st;
}
public void close() {
try {
if (st != null)
st.close();
if (connection != null)
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
</span>
2、下面用JDBC-ODBC桥的方式连接Access数据库来测试一下这个工具类
首先,配置odbc源,如下所示:
数据源student.mdb中ST表信息如下
接下来就是写代码了,代码如下:
[java]
view plaincopy
<span style="font-size:16px;">package demo.database;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import mine.util.database.DataBaseConnection;
/*
* 用工具类DataBaseConnection,连接Access数据库示例
*/
public class AccessDemo {
public void connect() {
DataBaseConnection dbConn = new DataBaseConnection();
//返回Statement对象
Statement st = dbConn.getStatement(DataBaseConnection.ACCESS_DRIVER,
"jdbc:odbc:Access", "", "");
ResultSet rs = null;
try {
// 执行sql语句
rs = st.executeQuery("select * from ST ");
// 获取结果集中的信息
while (rs.next()) {// 注意rs当前指向null,须先next()移动到指向第一条记录
System.out.println(rs.getString("Sno") + " "
+ rs.getString("Sname") + " " + rs.getString("Ssex")
+ " " + rs.getInt("Sage") + " "
+ rs.getString("Sdept"));
}
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
dbConn.close();
}
public static void main(String[] args) {
new AccessDemo().connect();
}
}
</span>
运行结果:
测试完毕
3、常用数据库url
4、数据库数据类型与对应的java数据类型
相关文章推荐
- JDBC连接数据库工具类及连接Access数据库示例
- JDBC连接数据库工具类及连接Access数据库示例
- java使用jdbc连接数据库工具类和jdbc连接mysql数据示例
- java使用jdbc连接数据库工具类和jdbc连接mysql数据示例
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- JDBC实例--工具类升级,使用Apache DBCP连接池重构DBUtility,让连接数据库更有效,更安全
- 两个JDBC连接数据库的工具类
- jdbc连接数据库工具类
- JDBC连接数据库工具类以及测试
- JDBC之数据库连接的java配置工具类dbUtils
- 各种数据库的JDBC连接示例
- 连接数据库Jdbc工具类
- Java 通过 JDBC 连接 MySQL 数据库的简单示例
- Spring Boot JDBC 连接数据库示例
- JDBC工具类连接数据库
- Java应用程序连接数据库--JDBC工具类及其改进
- 使用JDBC链接数据库之连接数据库通用工具类
- JDBC连接数据库(Mysql、抽取工具类)
- 简单实现jdbc连接数据库工具类
- jdbc连接数据库示例