NC 数据库访问之PersistenceManager

NC后端操作数据库了解到的一共有三个:
BaseDao 可指定数据源 执行sql V0兑现操作
PersistenceManager 可指定数据源 执行sql语句
DataAccessUtils 没有深入了解 看了下方法也是执行sql语句

同样 如果前段要调用 必须要通过接口访问 跟前面的BaseDao差不多

@Override
    public int saveObject(Person[] p) {
        JdbcSession session =null;
        try {
            getSession().addBatch("insert into Person(id,name,age) vlaue(1,'rian',19)");
        } catch (DbException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return session.getBatchSize();
    }

    //sql 语句查询
    @Override
    public Object executeQuery(String sql, ResultSetProcessor processor) {
        Object object=null;
        try {
            object=this.getSession().executeQuery(sql, processor);
        } catch (DbException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return object;
    }

    //带参数的sql查询
    @Override
    public Object executeQuery(String sql, SQLParameter parameter,
            ResultSetProcessor processor) {
        Object object=null;
        try {
            object=this.getSession().executeQuery(sql, parameter, processor);
        } catch (DbException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return object;
    }

    private JdbcSession session;
    //抽取session
    private JdbcSession getSession(){
        if(this.session==null){
            PersistenceManager manager;
            try {
                manager = PersistenceManager.getInstance("WMS");
                this.session= manager.getJdbcSession();
            } catch (DbException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return this.session;
    }
manager = PersistenceManager.getInstance("WMS");
this.session= manager.getJdbcSession();

这里指定数据源 通过session 执行crud操作

猜你喜欢

转载自blog.csdn.net/cc_rain0624/article/details/80438068
nc