首页

文章

springboot 整合 mybatis dao一直自动注入失败

发布网友 发布时间:2022-04-20 00:37

我来回答

6个回答

热心网友 时间:2022-04-09 21:31

因spring3发布时mybatis还没有出正式版本,所以spring没有整合最新的mybatis.不过社区倒是开发了一个中间件。

需要的jar包

mybatis-3.0.6.jar

mybatis-spring-1.0.2.jar

要点:

在spring中配置mybatis工厂类

2.在层使用spring注入的的工具bean对数据进行操作

整合时,可以有四种方式来使用mybatis进行数据处理。

spring 中必须的配置。

spring的配置文件中加入以下内容

<!-- MyBatis配置 -->

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<property name="dataSource" ref="c3p0DataSource" />

<property name="configLocation" value="/WEB-INF/config/db/MyBatisConfiguration.xml" />

<property name="mapperLocations" value="/WEB-INF/config/db/*Mapper.xml" />

<property name="typeAliasesPackage" value="${mybatis.alias.basepackage}" />

</bean>

SqlSessionFactoryBean (必需)

就是中间件所需的处理类

2.dataSource  (必需)

spring中数据源引用

3.configLocation  (可选)

Mybatis自身的配置文件,一般用来声明别名

4.mapperLocation  (可选)

mybatis的映射文件

5.typeAliasesPackage (可选)

要映射类的包路径,如果使用了这种方式,则configLocation中不必再进行声明

使用mybatis进行数据处理的四种方式(SqlSessionTemplate/SqlSessionDaoSupport/MapperFactoryBean/MapperScannerConfigurer)

不同方式的特点

SqlSessionTemplate 这个需要写配置文件,在实现类中注入sqlsession,再使用sqlsession,是细颗粒控制

SqlSessionDaoSupport  这个只需要在实现类中继承特殊类就可以使用sqlsession

MapperFactoryBean  这个要写配置文件,把对应的所有接口在配置文件中引用即可,无需写实现类

MapperScannerConfigurer 这个要写配置文件,只要给出接口所在的包即可,会自动把包中的接口引入,无需写实现类

SqlSessionTemplate

配置文件加入新配

<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">

<constructor-arg index="0" ref="sqlSessionFactory" />

<constructor-arg index="1" value="BATCH" /><!--- 如果想要进行批量操作可加入这个属性 ->

</bean>


注入sqlsession()


@Reasource //使用spring3的注解注入

private SqlSession sqlSession;


使用sqlsession来进行操作


public User getUser(String userId) {

return (User) sqlSession.selectOne("org.mybatis.spring.sample.mapper.UserMapper.getUser", userId);

}


SqlSessionDaoSupport(sqlSessionFactory会被spring自动装配,不需要手动注入)

继承SqlSessionDaoSupport类


public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {


}


使用getSqlSession()方法取sqlSession来进行数据处理


public User getUser(String userId) {

return (User) getSqlSession().selectOne("org.mybatis.spring.sample.mapper.UserMapper.getUser", userId);

}


MapperFactoryBean

写配置文件,引入每个DAO接口


<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">

<property name="mapperInterface" value="org.mybatis.spring.sample.mapper.UserMapper" />

<property name="sqlSessionFactory" ref="sqlSessionFactory" />

</bean>


在业务层可直接注入的接口进行操作

MapperScannerConfigurer

写配置文件,配置包名将自动引入包中的所有接口


<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<property name="basePackage" value="org.mybatis.spring.sample.mapper" />

</bean>


在业务层可直接注入DAO接口操作,注入时使用的是接口名,其首字母小写

注意:如果有别的实现类,其提供的名称如果是接口名,且首字母小写,则会在启动时出现冲突错误

追问我用的springboot整合哎,不是这个意思

热心网友 时间:2022-04-09 22:49

一、可能出现问题的原因

1.sqlmapConfig.xml文件头写错

2.namespace写错

3.包在工程中放错层级,也会报这个错误.因为Springboot,是通过main方法启动工程的,要求是,通过main项目入口启动的模块,必须和他同级或是它的子包,不能放到他外面,否则,会报错

二、会导致,报,注入失败

1.学习springboot整合myts,根据demo做

2.看整个流程都没问题了,因为配置本身就不多

3.配置文件主要东西都在application.properties中

热心网友 时间:2022-04-10 00:23

在springBoot启动类或在Mybatis类上添加注解@MapperScan,标识扫描接口所在的包。
@MapperScan("com.xxx.yyy")

热心网友 时间:2022-04-10 02:15

springBoot1.5.9整合mybatis,开源中国官方推荐的

热心网友 时间:2022-04-10 04:23

只需要在mapper层加入@mapper注解

热心网友 时间:2022-04-10 06:47

我用idea写的 报错 no bean ......但是不影响运行。。
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 使用springboot + mybatis时遇到的问题 搭spring boot + mybatis框架都需要注意什么 spring boot集成mybatis怎么实现自动启动tomcat 求助帖,SpringBoot mybatis 中实现动态修改数据源... springboot+myBatis,一些spring的配置文件放在什... spring boot mybatis怎么配置链接数据库 用springboot与mybatis怎么配置多数据源 如何在spring boot的配置文件 application.yml里 ... springboot mybatis怎么通过xml方式配置sql spring boot mybatis 配置文件怎么写 spring boot mybatis 能同时用注解或配置吗 spring boot mybatis 整合pom.xml怎么配置 求教Springboot+mybatis的配置 金锁玉关,案例分析 详解 既是食品又是药品的物品 风水中,1234要砂,6789要水,什么意思 想了解一下风水学,有哪些入门书籍值得推荐? 想学风水学入门看什么书呢? 金锁玉关是一本什么本书 金锁玉关 口诀 “卯水属同人” 同人卦 啥意思? springboot mybatis 整合后怎么答应输出sql语句? 笔记本无线网卡一连接网络就死机,什么问题啊?急急急!!! 订阅号可以改服务号吗? 如何把微信订阅号升级服务号 订阅号可以升级为服务号,那服务号可不可以改成服... 怎么把订阅号升级成服务号…可以给用户下单买东西那... 订阅号升级服务号,不可以了? 无线网络连接上但是卡的要死是怎么回事? 抖音dou订单记录怎么删除 抖音里面的已签收订单怎么删除? 抖音上热门订单删不掉怎么办? 抖音dou订单记录怎么删除? 抖音加热视频订单怎么删除 抖音dou订单记录怎么删除抖音热门订单投放结束后怎... 抖音如何删除售后订单 如何删除抖音上热门订单OPPO 抖音买的东西没发货怎样删除订单 dou上热门订单怎么删除 手机抖音上购物收货订单全部删除怎么删除 华为p9plus换个电池多少钱
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com