ecology9 系统文件常用说明

数据库文件

  • D:\WEAVER\ecology\WEB-INF\prop\weaver.properties
    操作数据库
public static void main(String[] args) {
        // 本地e9的demo路径
        String rootPath = "E:\\E9\\ecology\\";
        GCONST.setRootPath(rootPath);
        GCONST.setServerName("ecology");
        RecordSet rs=new RecordSet();
        rs.execute("select * from hrmresource");
        String name="1234";
        if(rs.next()){
            System.out.println("111");
           name=rs.getString("_name");
        }
    }
  • weaver.conn.RecordSet判断数据库类型
/**
     * 判断数据库类型
     * OA兼容sqlserver和oracle的
     */
    public static void getdbType(){
        RecordSet rs=new RecordSet();
        if("sqlserver".equals(rs.getDBType())){
             System.out.println("is sqlserver");
        }else{
             System.out.println("is oracle");
        }
    }
  • weaver.conn.RecordSet操作数据库,不带事务
    代码参考:
 /**
     * 操作数据库
     * 不带事务
     * /WEB-INF/prop/weaver.properties
     */
    public static void db(){
        //1.第一种:这种不安全
        RecordSet rs=new RecordSet();
        //新增数据
        rs.execute("insert into test_xizhilang(name,age)values('1','12')");
        rs.executeSql("insert into test_xizhilang(name,age)values('1','2')");
        rs.execute("update test_xizhilang set name='张三' where id=1");
        rs.execute("delete test_xizhilang where id=1");
        rs.execute("select * from hrmresource ");
        while(rs.next()){
            String id=rs.getString("id");//===rs.getString(1);
            String loginid=rs.getString("loginid");
            String lastname=rs.getString("lastname");
            System.out.println("loginid=="+loginid+";lastname="+lastname);
        }
        System.out.println("数据库操作完成");
    }
  • weaver.conn.RecordSet预编译处理,安全性更高
    代码参考:
/**
     * 预编译处理
     * 安全性更高
     */
    public static void db_rs(){
        RecordSet rs=new RecordSet();
        rs.executeQuery("select * from hrmresource where id=?", "49");
        if(rs.next()){
            System.out.println(rs.getString("lastname"));
        }
        rs.executeUpdate("insert into test_xizhilang(name,age)values(?,?)", "11","22");
    }
  • weaver.conn.ConnStatement原生的jdbc,操作数据库
/**
     * 操作数据库
     * 安全性更高
     * 不带事务
     */
    public static void db_2(){
        try {
            //2.第二种:预编译处理sql语句(安全)
            ConnStatement statement=new ConnStatement();
            String sqlstr="insert into test_xizhilang(name,age)values(?,?)";
            statement.setStatementSql(sqlstr);
            statement.setString(1 ,"李四");
            statement.setString(2 ,"25");
            statement.executeUpdate();
            //查询
            sqlstr="select * from test_xizhilang where id=?";
            statement.setStatementSql(sqlstr);
            statement.setString(1 ,"3");
            statement.executeQuery();
            if(statement.next()){
                String name=statement.getString("name");
                System.out.println("name=="+name);
                String age=statement.getString("age");
                System.out.println("age=="+age);
            }
            statement.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
  • weaver.conn.RecordSetTrans带事务回滚
    代码参考:
/**
     * 操作数据库,
     * 带事务回滚
     */
    public static void db_3(){
         //事物处理
         RecordSetTrans rst = new RecordSetTrans();
         try{
           rst.setAutoCommit(false);
           rst.executeSql("delete from test_xizhilang where id=5");
           rst.executeSql("delete from test_xizhilang where id=4");
           String s=null;
           s.toCharArray();
           rst.commit();
         }catch(Exception e){
             e.printStackTrace();
            rst.rollback();
         }
         System.out.println("方法执行完毕");
    }
  • weaver.conn.RecordSet操作数据库里面的存储过程
    代码参考:
/**
     * 操作数据库里面的存储过程 oracle
     * CREATE OR REPLACE PROCEDURE pr_test_xizhilang(
                 code_1       varchar2,
                         age_2    varchar2,
                         flag           out integer,
                         msg            out varchar2,
                         thecursor      IN OUT cursor_define.weavercursor) as
        begin
          insert into test_xizhilang
            (name,
             age
            )
          values
            (code_1,
             age_2
            );
          open thecursor for
            select max(id) from test_xizhilang;
        end;
     */
    public static void db_5(){
        RecordSet rs=new RecordSet();
        char flag=Util.getSeparator();
        String ProcPara = "王五"+flag+"18";
        rs.executeProc("pr_test_xizhilang",ProcPara);
        if(rs.next()){
            System.out.println("接收的参数="+rs.getString(1));
        }
    }

操作异构系统数据库

  • weaver.conn.RecordSetDataSource操作第三方应用的数据库
    代码参考:
/**
     * 操作第三方应用的数据库
     */
    public static void db_4(){
         //访问第三方数据源
         String sql1="select *  from hrmresource";
         RecordSetDataSource rs2=new RecordSetDataSource("xizhilang");
         rs2.execute(sql1);
         while(rs2.next()){
            //下标从1开始
            String hehe=rs2.getString(4);
            System.out.println("hehe="+hehe);
         }
        
    }

白名单文件

  • D:\WEAVER\ecology\WEB-INF\prop\weaver_session_filter.properties

限制ip地址文件

  • 在这里插入图片描述

日志框架的使用

Ecology底层采用的是log4j日志框架, 可根据环境自定义日志配置

log4j配置文件路径: ecology/WEB-INF/log4jinit.properties

# appender
log4j.logger.debug=DEBUG,debug
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender
# 按日期滚动文件
log4j.appender.debug.DatePattern='_'yyyyMMdd'.log'
# 自定义日志文件路径
log4j.appender.debug.File=@debug/debug.log
log4j.appender.debug.layout=org.apache.log4j.PatternLayout
# 输出内容格式
log4j.appender.debug.layout.ConversionPattern=%d{HH:mm:ss.SSS}[%p] %l: %m%n
log4j.additivity.debug=false
  • 代码中使用
// 获取自定义的 logger, 其中 debug为配置文件中 log4j.logger.debug中的debug
Logger logger = LoggerFactory.getLogger("debug");
// 支持占位符输出, 不定参数
logger.debug("debug级别消息: {}, {}", "参数1", "参数2");
logger.info("info级别消息!");
logger.warn("warn级别消息!");
logger.error("error级别消息!");
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值