java 访问数据库实例
(1) 数据库java类。
package com.kettas.servlet;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 数据库连接及操作类
*
* @author LHDSZZDF
*
*/
public class ConnDB {
public Connection conn = null;// 数据库连接对象
public Statement stmt = null;// Statement对象,用于执行SQL语句
public ResultSet rs = null;// 结果集对象
// 驱动类的类名
private static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static String dbUrl = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db_shop";
private static String dbUser = "sa";// 登录SQL Server的用户名
private static String dbPwd = "zzdfwf";// 登录SQL Server的密码
public static String dataBaseName = "aaaa";
public static String name = "root";
public static String pwd = "passw0rd@123";
/**
* 功能:创建与数据库的连接
*
* @return
*/
public static Connection getConnection()
{
Connection connDemo = null;// 声明数据库连接对象
try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
connDemo = DriverManager.getConnection("jdbc:mysql://localhost/"+dataBaseName, name, pwd);
}
catch (Exception e)
{
System.out.println("connection error" + e.getMessage());
}
return connDemo;// 返回数据库连接对象
}
/**
* 功能:更新数据
*
* @param sql
* @return
*/
public int executeUpdate(String sql) {
int result = 0;// 更新数据的记录条数
try {// 捕捉异常
conn = getConnection();// 获取数据库连接
// 创建用于执行SQL语句的Statement对象
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
result = stmt.executeUpdate(sql);// 执行SQL语句
} catch (SQLException e) {// 处理异常
result = 0;// 指定更新的记录条数为0,表示没有更新数据
e.printStackTrace();// 输出异常信息
}
try {// 捕捉异常
stmt.close();// 关闭用于执行SQL语句的Statement对象
} catch (SQLException e) {// 处理异常
e.printStackTrace();// 输出异常信息
}
return result;// 返回更新数据的记录条数
}
/**
* 功能:根据指定的SQL语句查询数据
*
* @param sql
* @return
*/
public ResultSet executeQuery(String sql)
{
try
{// 捕捉异常
conn = getConnection();// 获取数据库连接
// 创建用于执行SQL语句的Statement对象
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);// 执行SQL语句
} catch (SQLException e) {// 处理异常
e.printStackTrace();// 输出异常信息
}
return rs;// 返回查询结果
}
/**
* 功能:关闭数据库连接
*/
public void close() {
try {// 捕捉异常
if (rs != null) {
rs.close();// 关闭结果集对象
}
if (stmt != null) {
stmt.close();// 关闭Statement对象
}
if (conn != null) {
conn.close();// 关闭数据库连接对象
}
} catch (Exception e) {
e.printStackTrace();// 输出异常信息
}
}
/**
* 功能:测试数据库连接是否成功
*
* @param args
*/
public static void main(String[] args) {
if (getConnection() != null) {// 如果获取到数据库连接
System.out.println("数据库连接成功");
}
}
/**
* 功能:更新数据后获取生成的自动编号
*
* @param sql
* @return
*/
public int executeUpdate_id(String sql) {
int result = 0;
try {// 捕捉异常
conn = getConnection();// 获取数据库连接
// 创建用于执行SQL语句的Statement对象
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
result = stmt.executeUpdate(sql);// 执行SQL语句
String ID = "select @@IDENTITY as id";// 定义用于获取刚刚生成的自动编号的SQL语句
rs = stmt.executeQuery(ID);// 获取刚刚生成的自动编号
if (rs.next()) {// 如果存在数据
int autoID = rs.getInt("id");// 把获取到的自动编号保存到变量autoID中
result = autoID;
}
} catch (SQLException e) {// 处理异常
result = 0;
}
return result;// 返回获取结果
}
}
(2) 调用实例
private ConnDB conn = new ConnDB();// 创建数据库连接类的对象
String sqlString = "";
ResultSet rs = null;
rs = conn.executeQuery(sqlString);// 执行查询操作
本文地址:https://blog.csdn.net/qq_14874791/article/details/106992194