乐趣区

关于springboot:基本业务的实现

基于 id 执行商品信息删除

增加 mybatis 依赖
spring 框架启动时会对 mybatis 进行主动配置, 帮咱们创立 SqlSessionFactory 工厂(让咱们能应用 @Mapper 注解来形容数据长久层)
第二步: 定义商品业务数据层接口及业务办法

package com.cy.pj.goods.dao;

import org.apache.ibatis.annotations.Delete;

import org.apache.ibatis.annotations.Mapper;

@Mapper

public interface GoodsDao {@Delete("delete from tb_goods where id=#{id}")

 int deleteById(Integer id);

}

其中:@Mapper 是由 MyBatis 框架中定义的一个形容数据接口的注解 (所有的注解只是起标识作用), 通知 Spring 框架此接口的实现由 MyBatis 创立, 并将其实现类贮存到 Spring 容器中
第三步: 定义测试类, 对 GoodsDao 对象进行利用测试

@SpringBootTest

public class GoodsDaoTests { 

 @Autowired

 private GoodsDao goodsDao;

 @Test

 public void testDeleteById() {int rows=goodsDao.deleteById(10);

 System.out.println("rows="+rows);

 }

}

调用长久层接口 应用删除办法, 打印执行信息, 查看是否胜利

业务进阶剖析及实现

在 MyBais 框架中定义 Sql 映射有两种:
1. 将 SQL 映射定义在咱们的 xml 映射文件中(适宜比较复杂的 sql 语句, 应用时充分利用动静的 sql 进行设计, 如 <where>,<if>… 这些标签)

2. 间接以注解的形式进行申明(简略的 sql 语句)

应用映射文件时, 在 src/main/resources 目录下创立 mapper/goods 目录, 而后在其目录中增加 GoodsMapper.xml 映射文件, 并指定以下内容

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper

 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

 "http://mybatis.org/dtd/mybatis-3-mapper.dtd"\>

<mapper namespace="com.cy.pj.goods.dao.GoodsDao"\>

 <delete id="deleteObjects"\>

 delete from tb\_goods

 where id in <!-- (1,2,3,4,5) -->

 <foreach collection="ids"

 open="("

 close=")"

 separator=","

 item="id"\>

 #{id}

 </foreach\>

 </delete\>

</mapper\>

1)xml 文件的文件头是从 mybatis 官网 cv 的
2)namespace 指向的是长久层类的类全称
3) 办法的 id 值要和接口中的办法名保持一致
迭代时只能迭代 “ids” “array” 这两种元素
collection 指向肯定要填写其中之一, 并且接口的办法类型要对应上

int deleteObjects(@param("ids")Integer...ids);

其中 @param(“ids”) ids 要和数组名称对应 Integer…ids 是一个名字为 ids 的一个数组 (三个点示意数组~~~~)
在启动类中增加下列配置, 这个配置指向的就是 sql 映射文件

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

在 GoodsDaoTests 类中增加一个单元测试办法进行测试, 查看办法运行是否有误

退出移动版