基本业务的实现

基于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进行设计,如,...这些标签)

2.直接以注解的方式进行声明(简单的sql语句)

使用映射文件时,在src/main/resources目录下创建mapper/goods目录,然后在其目录中添加GoodsMapper.xml映射文件,并指定以下内容







 

 delete from tb\_goods

 where id in 

 

 #{id}

 

 

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类中添加一个单元测试方法进行测试,查看方法运行是否有误

你可能感兴趣的:(springboot,spring-mvc,html,mybatis)