首先看下整个工作目录:
整个框架的目录就是这样
其次 再说下里面的文件
既然是springmvc+mybatis 首先就得添加spring支持 然后再来配置springmvc 涉及第一个就是config.xml 反向生成对应支持
用的是sqlserver数据库 别见怪!!看下里面的配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<classPathEntry location="sqljdbc.jar"/>
<context id="MySqlTables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
connectionURL="jdbc:sqlserver://127.0.0.1:1433;databaseName=数据库名" password="密码" userId="用户">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="com.scce.entity" targetProject="../">
<property name="enableSubpackage" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="com.scce.dao" targetProject="../">
<property name="enableSubpackages" value="true"/>
</sqlMapGenerator>
<javaClientGenerator targetPackage="com.scce.dao" type="XMLMAPPER" targetProject="../">
<property name="enableSubpackages" value="true"/>
</javaClientGenerator>
<table tableName="person" domainObjectName="Person"></table>
</context>
</generatorConfiguration>
具体属性的ji解释 就自己下点功夫 好好复习下
配置好后 进入到项目 该配置文件存在的文件 使用命令“java -jar mybatis-generator-core-1.3.2.jar -configfile config.xml -overwrite”即可生成对应实体和mapper文件(就是数据库交互文件 相当于Basedao)
我们要这个配置文件 还不行 要加入mybati 还得要两文件:
先看一个bi比较简单的文件sqlmapconfig(别问我是用来干什么 )
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<mappers>
<mapper resource="com/scce/dao/PersonMapper.xml"></mapper>
</mappers>
</configuration>
第二个xml文件 是一个 一不注意就来姨妈的文件 也是一个必须的文件xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd ">
<mvc:annotation-driven/>
<!-- <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
</bean>
-->
<bean id="datasorce" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
<property name="url" value="jdbc:sqlserver://192.168.18.130:1433;databaseName=login"></property>
<property name="username" value="sa"></property>
<property name="password" value="123456"></property>
</bean>
<bean id="sessionsqlFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:sqlMapConfig.xml"></property>
<property name="dataSource" ref="datasorce"></property>
<property name="typeHandlersPackage" value="com.scce.util.DateTypeTranf"></property>
</bean>
<!--注入mapper -->
<bean id="personMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.scce.dao.PersonMapper"></property>
<property name="sqlSessionFactory" ref="sessionsqlFactory"></property>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sessionsqlFactory"></property>
<property name="basePackage" value="com.scce.dao.PersonMapper"></property>
</bean>
<context:component-scan base-package="com.scce.action"></context:component-scan>
<context:component-scan base-package="com.scce.Service"></context:component-scan>
<!--spring申请式事物-->
<!-- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionsqlFactory"></property>
</bean> -->
<!-- <tx:annotation-driven transaction-manager="transactionManager"/> -->
<!-- 当我们添加这一段代码的时候,需要去到我们的service,给我们的ServiceImpl添加注解@Transaction: 即@Transactional(readOnly=true) 中间未@service @Scope("prototype")-->
<!--
配置事务增强处理,指定事务管理器
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="mod*" propagation="REQUIRED" />
必须要配置开启事务,不然getCurrentSession()会获取不到
<tx:method name="*" propagation="REQUIRED" read-only="true" />
</tx:attributes>
</tx:advice>
<aop:config>
配置一个切入点,匹配fruit.dao下所有类执行的方法
<aop:pointcut id="interceptorPointCuts" expression="execution(* fruit.dao.*.*(..))" />
指定在poincut切入点应用txAdvice事务增强处理
<aop:advisor advice-ref="txAdvice" pointcut-ref="interceptorPointCuts" />
</aop:config> -->
</beans>
里面的属性 也需要自行进行学习 ,里面所需要的jar包 且记放入lib文件下