web开发学习笔记(13.mybatis基于注解配置)

1.使用mybatis基本步骤

2.引入依赖

复制代码
<!--        mysql-->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
        </dependency>
<!--        mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
<!--        测试-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

3.配置application.properties 配置数据库连接信息

复制代码
#驱动类名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url,test为数据库名称
spring.datasource.url=jdbc:mysql://localhost:3306/test
#连接数据库的用户名
spring.datasource.username=root
#连接数据库的密码
spring.datasource.password=123456

4.编写实体类和接口

5.编写测试类

复制代码
@SpringBootTest    //单元测试注解类
public class applicationtest {

    @Autowired
    private UserMapper userMapper;


    @Test
    public void test() {
        List<User> userList = userMapper.list();
        System.out.println(userList.get(0).getName());
    }


}

6.或者使用stream流的方式进行输出

7.设置查看mapper层里的提示信息,方便操作

  1. 使用jdbc连接数据库

9.数据库连接池

10.lombok,在编译时,会自动生成对应的java代码

之前的实体类过于臃肿

使用lombok自动生成以下内容,简化开发,提高效率

11.引入lombok依赖,不需要指定版本号,因为springboot parent父项目中已经制定了版本

复制代码
<!--        lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

12.lombok使用方法

13.数据库字段中含有_下划线的,在实体类中要用驼峰命名

14.删除操作,使用#{id}作为占位符

15mybatis日志输出到控制台

复制代码
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

16.下面这种是预编译的sql,性能更高,更安全(防止sql注入)

复制代码
    @Delete("delete from emp where id=#{id}")
    public void delete(Integer id);

17.有两种参数占位符

第一种较好

18.新增操作

在mapper中添加

在测试类中添加

19.主键返回,会把新插入的内容中的主键作为返回值

20.更新操作

在mapper中添加

在测试类中添加

21.根据id查询员工

mapper中添加

测试类中添加

22.数据封装

解决方法1:给字段起别名

解决方案2:手动封装

解决方案3:开启驼峰命名自动开关

复制代码
#开启mybayis驼峰命名自动开关
mybatis.configuration.map-underscore-to-camel-case=true

24.条件查询员工

25.使用concat拼接字符串

相关推荐
自可乐18 分钟前
n8n全面学习教程:从入门到精通的自动化工作流引擎实践指南
运维·人工智能·学习·自动化
深蓝海拓44 分钟前
PySide6从0开始学习的笔记(二十六) 重写Qt窗口对象的事件(QEvent)处理方法
笔记·python·qt·学习·pyqt
中屹指纹浏览器44 分钟前
中屹指纹浏览器多场景技术适配与接口封装实践
经验分享·笔记
星火开发设计2 小时前
C++ 预处理指令:#include、#define 与条件编译
java·开发语言·c++·学习·算法·知识
BugShare3 小时前
Obsidian 使用指南:从零开始搭建你的个人知识库
笔记·obsidian
BackCatK Chen3 小时前
第 1 篇:软件视角扫盲|TMC2240 软件核心特性 + 学习路径(附工具清单)
c语言·stm32·单片机·学习·电机驱动·保姆级教程·tmc2240
深蓝海拓3 小时前
PySide6从0开始学习的笔记(二十五) Qt窗口对象的生命周期和及时销毁
笔记·python·qt·学习·pyqt
理人综艺好会3 小时前
Web学习之用户认证
前端·学习
●VON3 小时前
React Native for OpenHarmony:项目目录结构与跨平台构建流程详解
javascript·学习·react native·react.js·架构·跨平台·von
跃渊Yuey3 小时前
【Linux】线程同步与互斥
linux·笔记