不使用自动注解方式来生成mapper,采用原生方式来生成mapper

前提环境:SpringBoot + MyBatis Plus

问题描述:在普通类中是无法通过自动注解的方式类来使用mapper

解决办法:采用原生方式SqlSessionFactory来生成mapper

第一步:创建resources目录下下创建如下所示的配置文件config.xml

<?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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="数据库驱动" />
                <property name="url" value="jdbc:mysql://xxx:9527/demo"/>
                <property name="username" value="账号" />
                <property name="password" value="密码" />
            </dataSource>
        </environment>
    </environments>

    <!--使用谁的mapper就要把谁的mapper.xml文件引入进来,不引入则会报错-->
    <mappers>
        <mapper resource="mapper/xxxMapper.xml" />
    </mappers>
</configuration>

第二步:使用SqlSessionFactory生成mapper

InputStream inputStream = Resources.getResourceAsStream("config.xml");
//读取配置文件的配置信息,利用SqlSessionFactoryBuilder创建sqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//利用sqlSessionFactory打开与数据库的会话
SqlSession sqlSession = sqlSessionFactory.openSession();
xxxMapper mapper = sqlSession.getMapper(xxxMapper.class);

/**
 * 此处先做与数据库的交互操作,然后再关闭会话通道
 */

//关闭会话通道
sqlSession.close();

 

使用MyBatis时,我们在mapper接口中定义完方法后,如果没有显示生成MyBatis的SQL管理方法,一种可能是因为在resources目录下的mapper文件夹中没有生成XML配置文件。 然而,MyBatis-Plus并不能解决所有问题,特别是在面对一些复杂的SQL语句和多表联查时。此时,我们可以使用MyBatisX插件来快速解决这个问题。 MyBatis是一款优秀的持久层框架,支持定制化SQL、存储过程以及高级映射。它可以通过简单的XML或注解配置和映射原生类型、接口和Java的POJO为数据库中的记录。 所以,MyBatisX并不会自动生成SQL,我们仍然需要自己编写代码和SQL语句来满足复杂的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [mybatis无法进行sql管理](https://blog.csdn.net/weixin_67150631/article/details/127858382)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Mybatis plus无介绍快使用,MybatisX自动生成代码插件的使用(九)](https://blog.csdn.net/cucgyfjklx/article/details/125143928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值