首页 > 其他分享 >SSM中Mybatis的配置

SSM中Mybatis的配置

时间:2024-07-01 13:20:31浏览次数:16  
标签:xml sqlSessionFactoryBean 配置 SSM dataSource Mybatis new SqlSessionFactoryBean

注:数据库连接(此过程不当做本次笔记重点,只做简单概述)

1、创建并配置jdbc.properties文件
2、通过Druid连接池配置连接数据库
3、将数据源(dataSource)注入IOC
详细配置

一、xml文件与配置类混合配置

1、配置logback.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
    <!-- 指定日志输出的位置,ConsoleAppender表示输出到控制台 -->
    <appender name="STDOUT"
              class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- 日志输出的格式 -->
            <!-- 按照顺序分别是:时间、日志级别、线程名称、打印日志的类、日志主体内容、换行 -->
            <pattern>[%d{HH:mm:ss.SSS}] [%-5level] [%thread] [%logger] [%msg]%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- 设置全局日志级别。日志级别按顺序分别是:TRACE、DEBUG、INFO、WARN、ERROR -->
    <!-- 指定任何一个日志级别都只打印当前级别和后面级别的日志。 -->
    <root level="DEBUG">
        <!-- 指定打印日志的appender,这里通过“STDOUT”引用了前面配置的appender -->
        <appender-ref ref="STDOUT" />
    </root>

    <!-- 根据特殊需求指定局部日志级别,可也是包名或全类名。 -->
    <logger name="com.atguigu.mybatis" level="DEBUG" />

</configuration>

2、配置xml文件(mybatis-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>
    <settings>
      <!-- 开启驼峰映射 -->
      <setting name="mapUnderscoreToCamelCase" value="true"/>
      <!-- 开启logback日志输出 -->
      <setting name="logImpl" value="SLF4J"/>
      <!--开启resultMap自动映射 -->
      <setting name="autoMappingBehavior" value="FULL"/>
    </settings>

  <typeAliases>
    <!-- 给实体类起别名 -->
    <package name="实体类包路径"/>             此时定义resultType时可以直接使用实体类名
  </typeAliases>

  <!-- 配置Mybatis分页插件 -->
      <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
            <!--
                helperDialect:分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。
                你可以配置helperDialect属性来指定分页插件使用哪种方言。配置时,可以使用下面的缩写值:
                oracle,mysql,mariadb,sqlite,hsqldb,postgresql,db2,sqlserver,informix,h2,sqlserver2012,derby
             -->
            <property name="helperDialect" value="mysql"/>
        </plugin>
    </plugins>
</configuration>

3、编写配置类

/**
* 配置SqlSessionFactoryBean,指定连接池对象和外部配置文件
* @param dataSource  数据源
*/
@Bean
public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource){
  SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
  sqlSessionFactoryBean.setDataSource(dataSource);

  //设置配置文件
  //包裹外部配置文件地址对象
  Resource resource = new ClassPathResource("mybatis-config.xml"); 
  sqlSessionFactoryBean.setConfigLocation(resource);

  return sqlSessionFactoryBean;
}

/**
 * 配置Mapper实例扫描工厂,配置 <mapper <package 对应接口和mapperxml文件所在的包
 * @return
 */
@Bean
public MapperScannerConfigurer mapperScannerConfigurer(){
  MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
  //设置mapper接口和xml文件所在包的路径
  mapperScannerConfigurer.setBasePackage("mapper包所在路径");
  return mapperScannerConfigurer;
}

二、全配置类方式

@Configuration
public class MapperConfig {
  /**
  * 配置SqlSessionFactoryBean,指定连接池对象
  * @param dataSource  数据源
  */
  @Bean
  public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource){
    SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
    sqlSessionFactoryBean.setDataSource(dataSource);

    org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
    configuration.setMapUnderscoreToCamelCase(true);
    configuration.setLogImpl(Slf4jImpl.class);
    configuration.setAutoMappingBehavior(AutoMappingBehavior.FULL);
    
    sqlSessionFactoryBean.setConfiguration(configuration);
    sqlSessionFactoryBean.setTypeAliasesPackage("实体类包路径");
    
    PageInterceptor pageInterceptor = new PageInterceptor();
    Properties properties = new Properties();
    properties.setProperty("helperDialect","mysql");
    pageInterceptor.setProperties(properties);
    sqlSessionFactoryBean.addPlugins(pageInterceptor);
    
    return sqlSessionFactoryBean;
  }  


    /**
     * 配置Mapper实例扫描工厂,配置 <mapper <package 对应接口和mapperxml文件所在的包
     * @return
     */
    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer(){
        MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
        //设置mapper接口和xml文件所在的共同包
        mapperScannerConfigurer.setBasePackage("mapper包所在路径");
        return mapperScannerConfigurer;
    }
}

标签:xml,sqlSessionFactoryBean,配置,SSM,dataSource,Mybatis,new,SqlSessionFactoryBean
From: https://www.cnblogs.com/pyimc/p/18277833/SSM-Mybatis

相关文章

  • ensp中静态路由配置
    静态路由配置静态路由是一种网络路由的配置方法,它是由网络管理员手动配置的,不依赖于动态路由协议。静态路由表中包含了网络的目标地址和下一跳地址的对应关系,它告诉路由器如何将数据包从一个网络发送到另一个网络。在静态路由中,网络管理员需要手动配置每个网络的目标地址......
  • MyBatisPlus全攻略:轻松掌握高级数据库操作
    文章目录基础操作1.基础操作概念2.基础操作示例分页查询1.分页查询概念2.分页查询示例3.分页查询SQL代码条件构造器1.条件构造器概念2.条件构造器示例3.条件构造器SQL代码自动填充1.自动填充概念2.自动填充示例3.自动填充SQL代码代码生成器1.代码生成器......
  • ssm汽车保养系统小程序
    设计技术:开发语言:Java数据库:MySQL技术:Spring+Mybatis+SpringMvc+微信小程序工具:IDEA、Maven、Navicat主要功能:管理员管理门店和其对应的员工,管理保养信息和汽车配件信息,管理各种状态的订单。图3.5管理员用例图汽车保养系统小程序经过分析,确定了其需要设置用户的角色,......
  • nacos2.2.1之后需配置安全Key才能启动
    nacos启动报错信息ERRORErrorstartingTomcatcontext.Exception:org.springframework.beans.factory.UnsatisfiedDependencyException.Message:Errorcreatingbeanwithname'basicAuthenticationFilter'definedinclasspathresource[com/alibaba/nacos/p......
  • 配置 Swagger + 注释
    打开Xml文件生成,右键项目进入属性设置: 取消未进行注释而进行提示的警告: 然后Program.cs增加代码: 代码:builder.Services.AddSwaggerGen(s=>{//获取xml文件名称varxmlFileName=$"{Assembly.GetExecutingAssembly().GetName().Name}.xml";//包含注释,......
  • Linux和windows网络配置文件的修改
    Linux和windows网络配置文件的修改网络配置文件是计算机网络管理中至关重要的一部分。正确配置网络文件可以确保计算机与网络设备之间的通信顺畅,避免网络故障。本文将详细介绍网络配置文件的修改方法,包括常见命令、使用方法举例,以及一些优化建议。一、网络配置文件概述网......
  • 详述Python环境下配置AI大模型Qwen-72B的步骤
    随着人工智能技术的发展,大规模预训练模型如Qwen-72B等逐渐成为研究和应用的重点。本篇博客旨在提供一份详细的指南,帮助Python开发者们在自己的环境中顺利配置并使用Qwen-72B大模型。请注意:由于Qwen-72B这一模型目前并未公开存在,所以以下内容仅为假设性描述,实际上你需要替换为......
  • SpringMVC配置文件的位置和命名
    配置web.xml文件时我们需要配置SpringMVC框架的配置文件,该文件有两种配置方式。第一种是默认配置,第二种是带配置参数的配置。1.1默认配置方式SpringMVC框架有它自己的配置文件,该配置文件的名字默认为:-servlet.xml,默认存放的位置是WEB-INF目录下。如果采用这种方式意味着文件的......
  • Nginx的概述和配置
    Nginx的概述和配置目录Nginx的概述和配置一、Nginx概述1、Nginx是什么2、Nginx的特点:3、Nginx和Apache的区别3.1nginx相对于apache的优点∶3.2apache相对于nginx的优点∶4、nginx的两种进程分别有什么作用二、编译安装nginx1、关闭防火墙2、将所需的安装包放到/data下,并解压3、......
  • 猫头虎分享已解决Bug || 服务器配置错误(Server Configuration Error): ServerMisconfig
    ......