获取连接
public static Properties readValue() {
Properties props = new Properties();
try {
PropertyConfigurator.configure("src/log4j.properties");
// 配置文件位于当前目录中的config目录下
InputStream in = new BufferedInputStream(new FileInputStream("src/config.properties"));
props.load(in);
} catch (Exception e) {
logger.info("初始化配置文件失败!");
e.printStackTrace();
}
return props;
}
public static Connection getConnection() {
Properties pro = DownloadByPkuuId.readValue();
String url = pro.getProperty("jdbcUrl");
String driver = pro.getProperty("jdbcDriver");
String dbName = pro.getProperty("jdbcName");
String dbPwd = pro.getProperty("jdbcPwd");
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, dbName, dbPwd);
} catch (Exception e) {
logger.error("连接数据库异常",e);
}
return conn;
}
关闭连接,释放资源
public static void closeConnection(PreparedStatement sta, Connection conn) {
try {
if (sta != null) {
sta.close();
}
if (conn != null) {
conn.close();
}
sta = null;
conn = null;
logger.info("关闭数据库成功!")
} catch (SQLException e) {
logger.error("关闭数据库异常!",e);
}
}
插入数据操作
public static void insertExceptionLog(EXCEPTION_LOGS exception_logs){
String sql="insert into EXCEPTION_LOGS(PK_UUID,EXCEPTION_TYPE,REMARK) values(?,?,?)";
Connection conn = getConnection();
PreparedStatement sta = null;
try {
sta = conn.prepareStatement(sql);//预编译
sta.setString(1, exception_logs.getPkUuid());
sta.setInt(2, exception_logs.getExceptionType());
sta.setString(3, exception_logs.getRemark());
sta.executeUpdate();
logger.info("插入操作成功")
} catch (SQLException e) {
logger.error("插入数据失败",e);
}finally {
closeConnection(sta,conn);
}
}
删除操作
public static void delete(int id){
String sql = "delete from EXCEPTION_LOGS where PK_UUID=?";
Connection conn = getConnection();
try{
PreparedStatement sta = con.prepareStatement(sql);
sta.setInt(1, id);
int rows = sta.executeUpdate();
logger.info("删除操作成功")
}catch(SQLException e){
logger.error("删除数据失败",e);
}finally{
closeConnection(sta,conn);
}
}
更新操作
public static void update(String exceptionType,int id){
String sql = "update EXCEPTION_LOGS set exceptionType=? where id=?";
Connection conn = getConnection();
try{
PreparedStatement sta = con.prepareStatement(sql);
sta.setString(1, exceptionType);
sta.setInt(2, id);
int rows = sta.executeUpdate();
logger.info("更新操作成功")
}catch(SQLException e){
logger.error("更新数据失败",e);
}finally{
closeConnection(sta,conn);
}
}
查询操作
public static List<Tblobstorage> queryL(int C_FILEID) {
String sql = "select * from EXCEPTION_LOGS where C_FILEID=?";
Connection conn = getConnection();
Statement stmt = null;
ResultSet rset = null;
List<Tblobstorage> tist = null;
try {
PreparedStatement sta = con.prepareStatement(sql);
sta.setInt(1, id);
rset= sta.executeQuery();
tist = new ArrayList<Tblobstorage>();
while (rset.next()) {
Tblobstorage tblobstorage = new Tblobstorage();
String csubkeyid = String.valueOf(rset.getString("C_SUBKEYID"));
String cfileid = String.valueOf(rset.getString("C_FILEID"));
tblobstorage.setCsubkeyid(csubkeyid);
tblobstorage.setCfileid(cfileid);
tist.add(tblobstorage);
}
} catch (Exception e) {
logger.info("查询异常,系统退出");
} finally {
closeConnection(sta,conn);
}
return tist;
}
日志配置文件,log4j.properties 需log4j-1.2.17.jar
#日志路径,
path=D://MIG_SYS_LOG
## 设置###
log4j.rootLogger = debug,stdout,D,E
### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 输出DEBUG 级别以上的日志到=path ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ${path}/BusinessLog.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 输出ERROR 级别以上的日志到=path ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =${path}/ExceptionLog.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ]
数据库连接配置,config.properties
#数据库驱动(默认,无需修改)
jdbcDriver=oracle.jdbc.driver.OracleDriver
#数据库连接串
jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl
#数据库用户名
jdbcName=test
#数据库密码
jdbcPwd=123456