你好,请帮我做这个:
我需要知道jsf中的管理连接。我使用JSF 1.1和JDBC。
我的项目有一个MVC结构。我的连接是从数据源获取的。
问题1:我应该在包中创建我的连接工厂类吗。问题2:在dao、businesslogig、backingbean包中,正确的托管提交和回滚在哪里?问题4:dao、businesslogig、backingbean包中正确的托管打开和关闭连接在哪里?
我的连接工厂等级是以下的
public class ConexionDB {
private static Connection connection = null;
private static DataSource dataSource=null;
private static void setupDataSource() throws IOException, NamingException {
Propiedades propiedades = new Propiedades();
Context initialContext = new InitialContext();
dataSource = (DataSource)initialContext.lookup(propiedades.getPropiedad("datasource.JNDI"));
}
public static Connection getConexion() throws SQLException, IOException, NamingException{
if (dataSource== null)
setupDataSource();
return dataSource.getConnection();
}}
此外,建议在每次访问数据时关闭连接。或者处理一个每个操作的单个连接方法托管bean来传递此参数并进行单个关闭。
感谢您的帮助
从逻辑上讲,您应该在服务/无状态业务逻辑对象的顶层管理事务和连接。通常接受的方法是依靠依赖项注入库将连接/事务处理方面注入到应用程序中。看看Spring,特别是Spring JDBC。