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操作