MyBatis-Plus笔记——基础环境搭建

Spring 基础环境


Spring 基础环境 指的是 Spring + MyBatis + 辅助类

1.引入依赖

<properties>  
    <maven.compiler.source>22</maven.compiler.source>  
    <maven.compiler.target>22</maven.compiler.target>  
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
    <spring.version>6.1.5</spring.version>  
</properties>  
  
<dependencies>  
    <!--spring web相关-->  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-context</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <!--spring 数据库相关-->  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-jdbc</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <!--spring test相关-->  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-test</artifactId>  
        <version>6.1.5</version>  
    </dependency>  
    <!--连接池-->  
    <dependency>  
        <groupId>com.alibaba</groupId>  
        <artifactId>druid</artifactId>  
        <version>1.2.22</version>  
    </dependency>  
    <!--MySQL驱动-->  
    <dependency>  
        <groupId>com.mysql</groupId>  
        <artifactId>mysql-connector-j</artifactId>  
        <version>8.3.0</version>  
    </dependency>  
    <!--junit测试-->  
    <dependency>  
        <groupId>junit</groupId>  
        <artifactId>junit</artifactId>  
        <version>4.13.2</version>  
        <scope>test</scope>  
    </dependency>  
    <!--日志-->  
    <dependency>  
        <groupId>org.slf4j</groupId>  
        <artifactId>slf4j-api</artifactId>  
        <version>2.0.12</version>  
    </dependency>  
    <!--更方便的日志框架,log4j升级版-->  
    <dependency>  
        <groupId>ch.qos.logback</groupId>  
        <artifactId>logback-classic</artifactId>  
        <version>1.5.3</version>  
    </dependency>  
    <!--lombok注解处理-->  
    <dependency>  
        <groupId>org.projectlombok</groupId>  
        <artifactId>lombok</artifactId>  
        <version>1.18.30</version>  
    </dependency>  
    <!--MyBatis-Plus依赖-->  
    <dependency>  
        <groupId>com.baomidou</groupId>  
        <artifactId>mybatis-plus</artifactId>  
        <version>3.5.4.1</version>  
    </dependency>  
    <!--spring整合mybatis-->  
	<dependency>  
	    <groupId>org.mybatis</groupId>  
	    <artifactId>mybatis-spring</artifactId>  
	    <version>3.0.3</version>  
	</dependency>
</dependencies>

2. 创建数据对应实体类和mapper以及映射文件

目录结构参考

对应的实体类
@Data  
@AllArgsConstructor  
public class User {  
    private Long id;  
    private String name;  
    private Integer age;  
    private String email;  
}
对应的mapper和映射文件

mapper:

public interface UserMapper {  
  
    User selectById(Long id);  
  
}

mapper.xml:

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper  
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">  
<mapper namespace="com.zxb.mp.mapper.UserMapper">  
    <select id="selectById" resultType="com.zxb.mp.pojo.User">  
        select * from user where id = #{id}  
    </select>  
</mapper>

3.创建数据库连接配置文件

jdbc.properties:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4. 创建MyBatis-config核心配置文件

详细可以参考:2.MyBatis环境搭建

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE configuration  
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
        "https://mybatis.org/dtd/mybatis-3-config.dtd">  
<configuration>  
    <properties resource="jdbc.properties"/>  
    <typeAliases>  
        <package name="com.zxb.mp.pojo"/>  
    </typeAliases>  
    <environments default="development">  
        <environment id="development">  
            <transactionManager type="JDBC"/>  
            <dataSource type="POOLED">  
                <property name="driver" value="${jdbc.driver}"/>  
                <property name="url" value="${jdbc.url}"/>  
                <property name="username" value="${jdbc.username}"/>  
                <property name="password" value="${jdbc.password}"/>  
            </dataSource>  
        </environment>  
    </environments>  
    <mappers>  
        <package name="com.zxb.mp.mapper"/>  
    </mappers>  
</configuration>

5. 创建Spring的配置文件

resources\applicationContext.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:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
    <!-- 引入jdbc.properties -->
    <context:property-placeholder location="classpath:jdbc.properties"/>
    <!-- 配置Druid数据源 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
    <!-- 配置用于创建SqlSessionFactory的工厂bean -->
    <bean class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 设置MyBatis配置文件的路径(可以不设置) -->
        <property name="configLocation" value="classpath:mybatis-config.xml">
        </property>
        <!-- 设置数据源 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 设置类型别名所对应的包 -->
        <property name="typeAliasesPackage" value="com.zxb.mp.pojo">
        </property>
        <!--
        设置映射文件的路径
        若映射文件所在路径和mapper接口所在路径一致,则不需要设置
        -->
        <!--
        <property name="mapperLocations" value="classpath:mapper/*.xml">
        </property>
        -->
    </bean>
    <!--
    配置mapper接口的扫描配置
    由mybatis-spring提供,可以将指定包下所有的mapper接口创建动态代理
    并将这些动态代理作为IOC容器的bean管理
    -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.zxb.mp.mapper"/>
    </bean>
</beans>

6. 添加日志功能

resources\logback.xml

<?xml version="1.0" encoding="UTF-8"?>  
<configuration debug="false">  
    <!--定义日志文件的存储地址 logs为当前项目的logs目录 还可以设置为../logs -->  
    <property name="LOG_HOME" value="logs" />  
    <!--控制台日志, 控制台输出 -->  
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">  
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符  
            宽度,%msg:日志消息,%n是换行符-->            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>  
        </encoder>  
    </appender>  
    <!--myibatis log configure-->  
    <logger name="com.apache.ibatis" level="TRACE"/>  
    <logger name="java.sql.Connection" level="DEBUG"/>  
    <logger name="java.sql.Statement" level="DEBUG"/>  
    <logger name="java.sql.PreparedStatement" level="DEBUG"/>  
    <!-- 日志输出级别 -->  
    <root level="DEBUG">  
        <appender-ref ref="STDOUT" />  
    </root>  
</configuration>

测试

// 表示在Spring的环境中测试  
@RunWith(SpringJUnit4ClassRunner.class)  
// 指定Spring的配置文件  
@ContextConfiguration("classpath:applicationContext.xml")  
public class MyBatisPlusTest {  
    private static final Logger log = LoggerFactory.getLogger(MyBatisPlusTest.class);  
    // 自动注入mapper  
   @Autowired  
   private UserMapper userMapper;  
  
   @Test  
    public void testSelectById() {  
       User user = userMapper.selectById(1L);  
       log.info("user:{}", user);  
   }  
  
}

Spring 基础环境加入MyBatis-Plus

修改配置文件spring配置文件的工厂bean

将:

<!-- 配置用于创建SqlSessionFactory的工厂bean -->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 设置MyBatis配置文件的路径(可以不设置) -->
    <property name="configLocation" value="classpath:mybatis-config.xml">
    </property>
    <!-- 设置数据源 -->
    <property name="dataSource" ref="dataSource"/>
    <!-- 设置类型别名所对应的包 -->
    <property name="typeAliasesPackage" value="com.zxb.mp.pojo">
    </property>
    <!--
    设置映射文件的路径
    若映射文件所在路径和mapper接口所在路径一致,则不需要设置
    -->
    <!--
    <property name="mapperLocations" value="classpath:mapper/*.xml">
    </property>
    -->
</bean>

改成:

<!-- 配置用于创建SqlSessionFactory的工厂bean -->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 设置MyBatis配置文件的路径(可以不设置) -->
    <property name="configLocation" value="classpath:mybatis-config.xml">
    </property>
    <!-- 设置数据源 -->
    <property name="dataSource" ref="dataSource"/>
    <!-- 设置类型别名所对应的包 -->
    <property name="typeAliasesPackage" value="com.zxb.mp.pojo">
    </property>
    <!--
    设置映射文件的路径
    若映射文件所在路径和mapper接口所在路径一致,则不需要设置
    -->
    <!--
    <property name="mapperLocations" value="classpath:mapper/*.xml">
    </property>
    -->
</bean>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/580400.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java-字符-charbyteASCII

1 需求 需求&#xff1a;ASCII表需求&#xff1a;打印 ASCII表需求&#xff1a;ASCII表 分类需求&#xff1a;ASCII表 中 常见字符需求&#xff1a;ASCII表 中 正则相关字符 2 接口 3.X ASCII表 参考资料&#xff1a; https://www.cnblogs.com/amosli/p/3832817.html 3.X 打印…

PotatoPie 4.0 实验教程(24) —— FPGA实现摄像头图像中心差分变换

为什么要对图像进行中心差分变换&#xff1f; 对图像进行中心差分变换的主要目的是计算图像中每个像素点的梯度。梯度在图像处理中是一个非常重要的概念&#xff0c;它可以用来描述图像中灰度变化的快慢和方向&#xff0c;常用于边缘检测、特征提取和图像增强等任务中。 具体…

2024LarkXR新增功能系列之九| 优化分配策略:增加GPU检查参数

Paraverse平行云实时云渲染解决方案LarkXR在2024年新增了优化分配策略&#xff0c;增强了GPU检查参数的能力&#xff0c;满足了复杂元宇宙/数字孪生场景多样性的可视化的需求&#xff0c;为这些应用找到了更好的解决方案。新版本的LarkXR在渲染请求分配策略上做出了显著的改进。…

ShaderLab的混合命令

文章目录 示例原理混合因子混合操作参考 示例 Pass {Tags{"LightMode" "ForwardBase"}// 关闭深度写入ZWrite Off// 设置Pass的混合模式&#xff0c;SrcAlpha: 片元着色器产生的颜色的混合因子// OneMinusSrcAlpha 已经存在于颜色缓冲中的颜色的混合因子…

【ARM 裸机】BSP 工程管理

回顾一下上一节&#xff1a;【ARM 裸机】NXP 官方 SDK 使用&#xff0c;我们发现工程文件夹里面各种文件非常凌乱&#xff1b; 那么为了模块化整理代码&#xff0c;使得同一个属性的文件存放在同一个目录里面&#xff0c;所以学习 BSP 工程管理非常有必要。 1、准备工作 新建…

Unity 物体触碰事件监听

声明委托 public delegate void MyDelegate(Collider trigger); C# 委托&#xff08;Delegate&#xff09; | 菜鸟教程 (runoob.com)https://www.runoob.com/csharp/csharp-delegate.html 定义委托 public MyDelegate onTriggerEnter; public MyDelegateonTriggerStay; pub…

matplotlib绘图二

matplotlib版本&#xff1a;3.7.5 numpy版本&#xff1a;1.24.3 pandas版本&#xff1a;2.0.3 本文主要记录matplotlib对pandas的绘图&#xff0c;matplotlib的绘图技巧参考这里matplotlib基本绘图。 导包 import matplotlib.pyplot as plt import numpy as np import panda…

小程序的合同是怎么样写的

​很多商家找第三方做小程序都遭遇到了各种问题&#xff0c;如访问速度慢、服务器关闭、反复收费等。如果当初商家找的是正规的第三方服务商&#xff0c;双方签订了明确的合同条款&#xff0c;出现任何问题后&#xff0c;相信都能够进行解决。下面将具体介绍合同内容&#xff0…

照片不大于200K怎么压缩?一键压缩图片大小的技巧

现在办理很多事情的时候都会选择网上处理&#xff0c;然后有些需要提交照片或者图片的时候&#xff0c;就会被要求文件大小必须在200k以内&#xff0c;这对于很多人来说处理起来比较困难&#xff0c;所以小编今天专门找到了一款可以将图片压缩指定大小的图片处理工具&#xff0…

Parallels Desktop19虚拟机电脑版下载安装Windows详细图文教程2024最新

Parallels Desktop是一款Mac虚拟机软件&#xff0c;可以在Mac上运行Windows系统&#xff0c;它是Mac上最优秀的虚拟机软件之一。用户无需重启即可在Mac上同时运行Mac OS和Windows应用程序&#xff0c;且两者之间能够无缝切换&#xff0c;对此&#xff0c;用户甚至无需设置双系统…

吴恩达2022机器学习专项课程(一) 7.1 逻辑回归的成本函数第三周课后实验:Lab4逻辑回归的损失函数

问题预览/关键词 上节课回顾逻辑回归模型使用线性回归模型的平方误差成本函数单个训练样本的损失损失函数&#xff0c;成本函数&#xff0c;代价函数的区别线性回归损失函数和逻辑回归损失函数的区别逻辑回归模型的成本函数是什么&#xff1f;逻辑回归模型的损失函数实验逻辑回…

Orange3数据可视化(树查看器-决策树)

树视图 分类和回归树的可视化。 输入 树&#xff1a;决策树 输出 选中的数据&#xff1a;从树节点中选中的实例 数据&#xff1a;带有额外一列&#xff0c;显示每个点是否被选中 这是一个多功能的小部件&#xff0c;用于展示分类和回归树的2D可视化。用户可以选择一个节点…

小毛驴 40km 通勤上班:不一样的工作日!

从到公司上班之后因为距离变远了&#xff0c;也不能像之前一样小毛驴上下班了。 所以通勤方案就变成了&#xff1a; 上班&#xff1a;小毛驴 15min ----- 地铁 40min ----- 公交OR共享单车 12min 步行 5min下班&#xff1a;公交 12min ----- 地铁 40min ----- 小毛驴 15min通…

前端计算机网络之网络模型

什么是网络模型 对于前端开发者而言&#xff0c;理解网络模型的概念是非常重要的。网络模型是描述数据如何在网络中传输和处理的框架和规则&#xff0c;它有助于前端开发者更好地理解和优化应用程序与服务器之间的通信过程。 常用的两类模型 前端开发者需要了解的网络模型主…

2024腾讯游戏安全技术竞赛-机器学习赛道

决赛赛题链接https://gss.tencent.com/competition/2024/doc/2024%E8%85%BE%E8%AE%AF%E6%B8%B8%E6%88%8F%E5%AE%89%E5%85%A8%E6%8A%80%E6%9C%AF%E7%AB%9E%E8%B5%9B-%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0-%E5%86%B3%E8%B5%9B.zip 今年的题目是游戏跨语言恶意内容识别 ,题目比较…

Docker 入门篇(一)-- 简介与安装教程(Windows和Linux)

一、Docker简介 Docker是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何Linux机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间没有任何接口&#xff08;类似iPhon…

计算机服务器中了devicdata勒索病毒怎么办?Devicdata勒索病毒解密工具步骤

在这个网络飞速发展的时代&#xff0c;网络为企业的生产运营起到了关键性作用&#xff0c;利用网络可以开展各项工作业务&#xff0c;大大提高了企业生产效率与业务水平&#xff0c;在大家都为网络的便利感到欣慰时&#xff0c;网络数据安全问题&#xff0c;成为众多企业关心的…

河南各地市统计面板数据集(2010-2022年)

数据简介&#xff1a;《河南统计NJ》是一部全面反映河南省经济和社会发展情况的资料性年刊。河南统计年鉴包括行政区划资料、国民经济综合资料、基本单位资料和航空港区资料。 而本篇面板数据则反映了河南省各个地级市的经济、人口、就业、农业、工业、人民生活等等方面的发展…

【Linux系统编程】基础指令(三)

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

堆的介绍,实现(c语言实现)

目录 堆的概念 堆的性质&#xff1a; 堆的分类 父子结点的下标关系 堆的向下调整算法 ​编辑小堆 大堆 建堆 堆的向上调整算法 小堆 大堆 堆的基本操作 定义堆 初始化堆 销毁堆 打印堆 堆的插入 堆的删除 大堆&#xff08;Max Heap&#xff09;的向下调整算法…