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拼接字符串

相关推荐
biter008815 分钟前
opencv(15) OpenCV背景减除器(Background Subtractors)学习
人工智能·opencv·学习
车轮滚滚__26 分钟前
uniapp对接unipush 1.0 ios/android
笔记
Code哈哈笑1 小时前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
java·开发语言·学习
QQ同步助手2 小时前
如何正确使用人工智能:开启智慧学习与创新之旅
人工智能·学习·百度
流浪的小新2 小时前
【AI】人工智能、LLM学习资源汇总
人工智能·学习
A懿轩A3 小时前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
云边有个稻草人3 小时前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
南宫生11 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__11 小时前
Web APIs学习 (操作DOM BOM)
学习
冷眼看人间恩怨11 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget