使用工具SpringToolSuite4
首先在spring项目的pom文件中添加依赖
登陆http://mybatis.org/spring/官网,通过Spring Boot节点
找到Maven项目对应的依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
官网目前版本是2.1.3,若低于这个版本,后续使用会操作繁琐一些
创建Dao层
在Dao层加上@Mapper注解,代表此接口的实现由Mybatis创建,交给Spring框架创建
**
* 负责封装商品数据逻辑的数据访问对象
*
* @Mapper 注解由mybatis提供,主要用于描述数据层接口
* 系统底层会基于此注解的描述,为接口创建其实现类对象
* 然后将此对象交给spring管理
*/
@Mapper
public interface GoodsDao {
/**
* 查询所有商品信息,一行记录映射为一个Goods对象,多个对象存储到List集合
* 1)底层查询还是JDBC
* 2)查询结果的映射(MyBatis框架):假如是JDBC我们需要获得结果集ResultSet,然后取数据手动进行映射
* 内容中映射过程
* 1)迭代ResultSet(这个对象中封装了数据库中的查询结果)
* 2)构建Goods对象(迭代一次构建一个Goods对象)
* 3)从ResultSet中取值然后通过反射调用Goods对象set方法,或者直接为属性赋值
*/
@Select("select * from tb_goods")
List<Goods> findAll();
/**
* 基于商品id执行删除业务
* @param id 商品id
* @return 删除的行数
* 数据层方法对象的sql映射,简单的sql可以以注解方式进行定义,复杂sql写到映射文件(xml)
*/
@Delete("delete from tb_goods where id = #{id}")
int deleteById(Integer id);
}
定义测试类,测试GoodsDao对象
@SpringBootTest
public class GoodsDaoTests {
@Autowired
private GoodsDao goodsDao; //思考:这个变量指向的对象是谁,什么类型?
@Test
void testDeleteObjects() {
int rows = goodsDao.deleteObjects(7,8,9);
System.out.println("rows="+rows);
}
@Test
void testDeleteById() {
//goodsDao --> com.sun.proxy.$Proxy56
System.out.println(goodsDao.getClass().getName());
int rows = goodsDao.deleteById(10); //思考:底层在做什么?(基于SqlSession与数据库会话)
System.out.println("delete.rows="+rows);
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。