zoukankan      html  css  js  c++  java
  • javaEE框架的session获取

    1、Mybatis的SQLSession获取MapperDao,有两种

    1.1、独立框架使用

    全局配置文件(SqlMapConfig.xml)+SqlSession获取方式+MapperDao

    SqlSession获取语句

    String config="SqlMapConfig.xml";
    Reader reader=Resources.getResourceAsReader(config);
    SqlSessionFactoryBuilder sfb=new SqlSessionFactoryBuilder();
    SqlSessionFactory factory=sfb.build(reader);
    SqlSession session=factory.openSession();
    
    //获取映射Dao
    //<mappers>:<mapper>:'resource'表示mappers元素下mapper元素下属性resource-->
    SqlMapConfig.xml--><mappers>:<mapper>:'resource'-->CostMapperDao;
    //取得session之后:
    EmpMapDao empDao=session.getMapper(EmpMapDao.class);
    

      

    SqlMapConfig.xml

    <?xml version="1.0" encoding="UTF-8" ?>  
    <!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN" 
    	"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
    <configuration>
    	<environments default="environment">
    		<environment id="environment">
    			<transactionManager type="JDBC" />
    			<dataSource type="POOLED">
    				<property name="driver" value="com.mysql.jdbc.Driver" />
    				<property name="url"
    					value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8" />
    				<property name="username" value="root" />
    				<property name="password" value="123456" />
    			</dataSource>
    		</environment>
    		<!-- Oracle数据库 -->
    		<!-- <environment id="environment">
    			<transactionManager type="JDBC" />
    			<dataSource type="POOLED">
    				<property name="driver" 
    					value="oracle.jdbc.OracleDriver" />
    				<property name="url"
    					value="jdbc:oracle:thin:@192.168.0.23:1521:tarena10g"/>
    				<property name="username" value="demo" />
    				<property name="password" value="demo" />
    			</dataSource>
    		</environment> -->
    	</environments>
    	<!-- 加载SQL语句的xml文件 -->
    	<mappers>
    		<mapper resource="com/jams/ibatis/entity/CostSQL.xml" />
    		<mapper resource="com/jams/ibatis/entity/UserSql.xml" />
    		<mapper resource="com/jams/ibatis/entity/EmpSql.xml" />
    	</mappers>
    </configuration> 
    

     

    1.2、与springmvc框架集成获取

    spring配置文件+MapperDao(不需要Mybatis的全局配置文件了)

    applicationContext.xml

    <!-- SqlSessionFactory -->
    <!-- dbcp -->
    <bean id="dbcp" class="org.apache.commons.dbcp.BasicDataSource">
    	<property name="username" value="root"/>
    	<property name="password" value="123456"/>
    	<property name="url" value="jdbc:mysql://localhost:3306/mynote?useUnicode=true&characterEncoding=utf8"/>
    	<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    </bean>
    <bean id="ssf" class="org.mybatis.spring.SqlSessionFactoryBean">
    	<!-- 参数1dbcp -->
    	<property name="dataSource" ref="dbcp"/>
    	<!-- 参数2mapper文件位置 -->
    	<property name="mapperLocations" value="classpath:com/jams/note/mapper/*.xml"/>
    </bean>
    		
    <!-- mapperScanner,扫描MapperDao,实例Dao只需要@Resource注入,按照第一位小写就可以使用 -->
    <bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    	<!-- 基础包 -->
    	<property name="basePackage" value="com.jams.note.dao"/>
    	<!-- SqlSessionFactory -->
    	<!-- <property name="sqlSessionFactory" ref="ssf"/> -->
    	<!-- 限制访问 -->
    	<!-- <property name="annotationClass" value=""/> -->
    </bean>
    

    获取MapperDao的实例

    bookDao=ac.getBean("noteBookMapperDao", NoteBookMapperDao.class);
    或
    @Resource
    private NoteBookMapperDao noteBookMapperDao;
    method{
        //noteBookMapperDao....
    }
    

      

    2、Hibernate框架获取Session

    2.1、框架单独使用

    String config="hibernate.cfg.xml";
    Configuration conf=new Configuration();
    conf.configure();
    //获取sessionFactory
    sf=conf.buildSessionFactory();
    //获取session
    Session session=sf.openSession();
    

    3、spring获取session

    3、1在web.xml配置(我也不清楚是否必须)

    <listener>
            <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
     </listener>
    

    3、2在需要的地方添加

    @Resource
    private HttpSession session;
    

      

  • 相关阅读:
    第10.7节 Python包和子包的定义步骤
    第10.6节 Python包的概念
    第10.5节 使用__all__定义Python模块导入白名单
    第10.4节 Python模块的弱封装机制
    第10.3节 Python导入模块能否取消导入?
    第10.2节 查看导入的Python模块
    第10.1节 Python的模块及模块导入
    第10章 Python的模块和包
    第9.13节 Python文件操作总结
    OpenCV x64 vs2010 下打开摄像头录制视频写成avi(代码为转载)
  • 原文地址:https://www.cnblogs.com/jamsbwo/p/4893339.html
Copyright © 2011-2022 走看看