[Spring框架]spring整合mybatis
1. 新建J2EE项目#
2. pom引入相关坐标#
<!--spring相关配置-->
spring-context 5.3.18
spring-jdbc 5.3.18
spring-tx 5.3.18
<!--aop切面相关的包-->
spring-aspects 5.3.18
<!--database-->
mysql-connector-java 8.0.23
druid 1.2.5
mybatis-plus 3.4.3
pagehelper 5.2.0
<!--database-->
log4j-slf4j-impl 2.14.0
lombok 1.18.22
3. 配置applicationContext.xml#
1. 配置扫描包,启动IoC注解#
<context:component-scan base-package="com.w"></context:component-scan>
2. 引入jdbc.properties配置文件#
<context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
3. 配置数据源#
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
<property name="url" value="${jdbc.url}"></property>
</bean>
4. 配置sqlSessionFactory#
SessionFactory里需要数据源、类别名、mapper位置、日志框架、拦截器用于分页
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- dataSource-->
<property name="dataSource" ref="dataSource"></property>
<!-- typeAliases-->
<property name="typeAliasesPackage" value="com.w.entity"></property>
<!--当xml文件和mapper接口文件在同一个目录下时,可以省略,否则必须配置-->
<!-- <property name="mapperLocations" value="classpath:com/woniu/mapper/*.xml"></property>-->
<!-- 配置日志框架-->
<property name="configuration">
<bean class="org.apache.ibatis.session.Configuration">
<!--配置日志框架-->
<property name="logImpl" value="org.apache.ibatis.logging.log4j2.Log4j2Impl"></property>
<!-- <property name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl"></property>-->
</bean>
</property>
<!-- 配置拦截器-->
<property name="plugins">
<array>
<!-- 分页插件-->
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<!--设置数据库类型-->
<prop key="helperDialect">mysql</prop>
<!--传入的页数大于总页数时,会查询最后一页-->
<prop key="reasonable">true</prop>
</props>
</property>
</bean>
</array>
</property>
</bean>
5. 扫描Dao接口包目录#
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sessionFactory"></property>
<property name="basePackage" value="com.w.mapper"></property>
</bean>
4. 持久层 -> 业务层 -> Web层#
5. 事务自动提交#
Mybatis:事务默认开启,需要手动提交
JDBC:事务默认关闭,自动提交
Spring整合Mybatis:事务默认关闭,自动提交
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话