【Mybatis】基础增删改查

一.创建SpringBoot项目

创建新项目需要添加的依赖

【Mybatis】基础增删改查_第1张图片

当然如果是以前的项目也可以直接在pom.xml文件中添加依赖:

MySQL Driver依赖


    com.mysql
    mysql-connector-j
    runtime

Mybatis Frameworl依赖


    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    2.3.1

还有第二种方式导入依赖

>pom.xml文件里面

>右击generate        >Edit Starters

【Mybatis】基础增删改查_第2张图片

>勾选对应的依赖,点击OK即可.

【Mybatis】基础增删改查_第3张图片

二.Mybatis

Mybatis的写法有两种

1.xml

2.注解

步骤

1.引入Mybatis依赖  引入对应数据库的依赖,比如mysql

2.配置数据库的相关信息

3.定义Java对象

4.写实现

【Mybatis】基础增删改查_第4张图片

企业建表规约

参考阿里建表规约

【Mybatis】基础增删改查_第5张图片

1.字段名/表名 全部小写

2.表必备三字段

id

gmt_create创建时间

gmt_modifies修改时间

3.逻辑删除和物理删除

逻辑删除:指从逻辑上进行数据删除

物理删除:从硬盘上进行数据删除 delete

单元测试

在需要写单元测试的类中,右键点击generate,选择Test

配置mybatis相关日志

#指定mybatis输出⽇志的位置, 输出控制台

mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

建议只出现在开发环境中,不要出现在线上环境

日志的打印,也是影响性能的 ;

灰度发布:是指发布环境 . 比如发布环境有200台,发布的时候是一批一批的发布 .

通常在刚开始的时候发布1台,也就是观察一段时间后,如果没有问题,继续下一批.

传递参数

如果只有一个参数, sql的名称可以是任意的.

三.注解方式

1.添加

//设置返回自增id
    @Options(useGeneratedKeys = true,keyProperty = "id")
    @Insert("insert into userinfo (username,password,age,gender,phone)"+
    "values(#{username},#{password},#{age},#{gender},#{phone})")
    Integer insert(UserInfo userInfo);

2.删除

@Select("select * from userinfo")
    List selectAll();

3.修改

@Update("update userinfo set age=#{age} where id=#{id}")
    Integer update(UserInfo userInfo);

4.查询

@Select("select * from userinfo")
    List selectAll2();

结果映射

Mybatis会自动的根据数据库的字段名和Java对象的属性名,进行映射,如果名称一样就进行赋值

注解方式有3种方式进行结果映射

4.1对mysql的字段进行重命名

【Mybatis】基础增删改查_第6张图片

4.2使用注解的方式

@Results注解映射 , 再用@ResultMap注解复用映射

【Mybatis】基础增删改查_第7张图片

4.3配置的方式

在配置文件中配置已以下内容,mysql字段就会完成自动转驼峰

【Mybatis】基础增删改查_第8张图片

注意:注解和xml方式是可以共存的

四.xml方式

xml的方式比注解方式稍微复杂一点,分为以下三步 :

1.配置数据库

和注解方式一样

【Mybatis】基础增删改查_第9张图片

2.指明xml的路径

在配置文件中指明xml的路径,写入以下内容

# 配置 mybatis xml 的⽂件路径,在 resources/mapper 创建所有表的 xml ⽂件 mapper:

mybatis.mapper-locations: classpath:mapper/**Mapper.xml

注意:路径名是程序员自定义的

【Mybatis】基础增删改查_第10张图片

3.写xml的实现

这是一个例子:

接口的定义

【Mybatis】基础增删改查_第11张图片

实现

xml文件配置SQL , 下面是模板




        //namespace更改成具体要要构造mapper类的全限定路径
 

       
 

结果类型就是返回的类型,不管返回的是对象还是list,此处定义的都是返回的数据的类型,比如这里返回的是UserInfo类型的数据.

【Mybatis】基础增删改查_第12张图片

namespace表示要实现哪个接口,要写全限定类名.

3.1添加

【Mybatis】基础增删改查_第13张图片

实现

【Mybatis】基础增删改查_第14张图片

重命名

【Mybatis】基础增删改查_第15张图片

3.2删除

【Mybatis】基础增删改查_第16张图片

【Mybatis】基础增删改查_第17张图片

3.3修改

【Mybatis】基础增删改查_第18张图片

【Mybatis】基础增删改查_第19张图片

3.4查询

结果映射

回忆注解方式中结果映射的三种解决方法

1.给sql字段起别名

2.@Result注解

3.配置自动转驼峰

mybatis.configuration.map-underscore-to-camel-case:true#配置驼峰⾃动转换

  

xml的结果映射 1和3 方式都是可以的.

除此之外还有一种与@Results相似的方式: 利用标签来进行数据库字段名和类属性的映射.

【Mybatis】基础增删改查_第20张图片

你可能感兴趣的:(JavaEE进阶,Mybatis,mybatis)