ssm(spring+springmvc+mybatis)xml版的整合

来源:互联网 发布:淘宝怎么买游戏账号 编辑:程序博客网 时间:2024/05/16 14:32

1.导包:
这里写图片描述
2搭建包:
这里写图片描述

3.mybatis.cfg.xml:

<configuration><!-- 交给spring配置数据源-->    <!-- <environments default="oracle">        <environment id="oracle">            <transactionManager type="jdbc"></transactionManager>            <dataSource type="pooled">                <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>                <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:xe"/>                <property name="username" value="zhubin"/>                <property name="password" value="123"/>            </dataSource>        </environment>    </environments> -->    <!--配置映射具体文件 -->    <mappers>        <mapper resource="entity/empMap.xml"/>    </mappers></configuration>

4.spring.xml

    <!-- 配置数据源 -->    <bean id="comboPooledDataSourceID" class="com.mchange.v2.c3p0.ComboPooledDataSource">        <property name="driverClass" value="oracle.jdbc.driver.OracleDriver"/>        <property name="jdbcUrl" value="jdbc:oracle:thin:@127.0.0.1:1521:xe"/>        <property name="user" value="zhubin"/>        <property name="password" value="123"/>    </bean>    <!-- 配置 工厂类,及加载mybatis配置文件,替代工厂的作用-->    <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="configLocation" value="classpath:mybatis.cfg.xml"/>        <property name="dataSource" ref="comboPooledDataSourceID"/>    </bean>    <!--配置事务管理器  -->    <bean id="dataSourceTransactionManagerID" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    <!-- mybatis事务有jdbc管理,配置事务管理器应该由数据源管理,而不是像hibernate交由它的工厂管理-->        <property name="dataSource" ref="comboPooledDataSourceID"/>    </bean>    <!-- 配置事务通知  指定哪些方法需要事务-->    <tx:advice id="tx" transaction-manager="dataSourceTransactionManagerID">        <tx:attributes>            <tx:method name="add*" propagation="REQUIRED"/>        </tx:attributes>    </tx:advice>    <!-- 配置事务切面 指定哪些方法(一般是service中的方法) -->    <aop:config>        <aop:pointcut expression="execution(* Dao.*.*(..))" id="pointcut"/>        <aop:advisor advice-ref="tx" pointcut-ref="pointcut"/>    </aop:config>    <bean id="empDaoID" class="Dao.EmpDao">        <property name="sqlsesionfactory" ref="sqlSessionFactoryBean"/>    </bean>    <bean id="empService" class="service.EmpService">        <property name="empDao" ref="empDaoID"/>    </bean>    <!-- 扫描识别注解 -->    <context:component-scan base-package="action"></context:component-scan>    <!-- 识别注解在empaction中的引入的参数 @Resource(name="empService")  -->    <context:annotation-config/>    <!-- 视图解析器 -->    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/"></property>        <property name="suffix" value=".jsp"></property>    </bean></beans>

5.dao层(mapper):

private SqlSessionFactory sqlsesionfactory;    public void setSqlsesionfactory(SqlSessionFactory sqlsesionfactory) {        this.sqlsesionfactory = sqlsesionfactory;    }    public void add(Emp emp){        SqlSession sqlSession = sqlsesionfactory.openSession();        sqlSession.insert("empnamespace.addemp", emp);        //int i=1/0;        sqlSession.close();    }

6.control:

@Controller@RequestMapping(value="/emp")public class EmpAction {    private EmpService empService;    @Resource(name="empService")    public void setEmpservice(EmpService empService) {        this.empService = empService;    }    @RequestMapping(value="/register")    public String empRegister(Emp emp,Model model)throws Exception{        empService.registerMethod(emp);        model.addAttribute("message", "messsage");        return "success";    }}

7.总结:比较复杂的spring.xml配置,理清楚 各层之间的bean引用。

阅读全文
0 0
原创粉丝点击