添加代码

This commit is contained in:
彭宇琦 2020-12-08 07:54:56 +08:00
parent c3a882ecaa
commit 2c03f0e2f2
3 changed files with 87 additions and 8 deletions

View File

@ -1,8 +1,58 @@
package pres.auxiliary.tool.sql;
public class AbstractSql {
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public AbstractSql() {
/**
* <p><b>文件名</b>AbstractSql.java</p>
* <p><b>用途</b>
* 数据库工具基类定义工具需要实现的基本方法以及通用方法
* </p>
* <p><b>编码时间</b>2020年12月7日上午8:12:04</p>
* <p><b>修改时间</b>2020年12月7日上午8:12:04</p>
* @author 彭宇琦
* @version Ver1.0
* @since JDK 1.8
*
*/
public class AbstractSql {
/**
* 存储需要执行的SQL语句
*/
StringBuilder sqlText = new StringBuilder("");
/**
* 数据库连接类对象
*/
protected Connection connect;
protected Statement statement;
protected PreparedStatement preState;
/**
* 用于返回当前需要执行的Sql语句
* @return 需要执行的Sql语句
*/
public String getSql() {
return sqlText.toString();
}
/**
* 用于执行存储SQL并返回结果集({@link ResultSet})对象
* @return {@link ResultSet}对象
*/
public ResultSet run() {
try {
return connect.prepareStatement(sqlText.toString()).executeQuery();
} catch (SQLException e) {
throw new DatabaseException(String.format("SQL无法执行。\nSQL:%s", sqlText.toString()));
}
}
@Override
public String toString() {
return getSql();
}
}

View File

@ -3,6 +3,8 @@ package pres.auxiliary.tool.sql;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.Properties;
import oracle.jdbc.driver.OracleDriver;
@ -20,11 +22,6 @@ import oracle.jdbc.driver.OracleDriver;
*
*/
public class OracleSql extends AbstractSql {
/**
* 存储需要执行的SQL语句
*/
StringBuilder sqlText = new StringBuilder("");
/**
* 构造方法用于指定数据库基本信息
* @param username 用户名
@ -52,5 +49,27 @@ public class OracleSql extends AbstractSql {
throw new DatabaseException(String.format("Oracle数据库连接异常连接信息\n用户名%s\n密码%s\n连接url%s", username, password, url), e);
}
}
public OracleSql type() {
return this;
}
/**
* 用于查找指定表名的数据可指定输出的字段
* @param tableName 表名
* @param fieldNames 字段名
*/
public OracleSql find(String tableName, String...fieldNames) {
sqlText.append("SELECT ");
//添加字段名
sqlText.append("");
sqlText.append(" ");
sqlText.append("FROM ");
sqlText.append(tableName);
return this;
}
}

View File

@ -0,0 +1,10 @@
package pres.auxiliary.tool.sql;
public enum SqlType {
SELECT,
INSERT,
DELECT,
TRUNCATE,
UPDATE;
}