4.0.0 org.example MyBatisHomeWork 1.0-SNAPSHOT junit junit 4.12 mysql mysql-connector-java 5.1.38 org.mybatis mybatis 3.4.6
有需要的jar包不知道如何配置 去maven官网搜索即可
3.构建mybatis项目的基本环境在mysql中创建商品表
-- 删除tb_brand表
drop table if exists tb_brand;
-- 创建tb_brand表
create table tb_brand
(
-- id 主键
id int primary key auto_increment,
-- 品牌名称
brand_name varchar(20),
-- 企业名称
company_name varchar(20),
-- 排序字段
ordered int,
-- 描述信息
description varchar(100),
-- 状态:0:禁用 1:启用
status int
);
-- 添加数据
insert into tb_brand (brand_name, company_name, ordered, description, status)
values ('三只松鼠', '三只松鼠股份有限公司', 5, '好吃不上火', 0),
('华为', '华为技术有限公司', 100, '华为致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界', 1),
('小米', '小米科技有限公司', 50, 'are you ok', 1);
SELECT * FROM tb_brand;
创建Mybatis的核心配置文件 sqlMapConfig.xml
配置文件需要放在resources文件夹下
这次使用的Mapper接口代理的方式实现
需要在底层创建Mapper接口,接口名需要和映射文件名一致 且目录一致
在pojo包下创建实体类
5.在BrandMapper接口中编写 业务需要的增删改查方法
package com.heima.mapper;
import com.heima.pojo.Brand;
import java.util.List;
public interface BrandMapper {
//查询
List selectAll();
//根据id查询
Brand selectById(int id);
//添加数据
int insert(Brand brand);
//删除数据
int delectById(int id);
//更改数据
int updataBrand(Brand brand);
}
6.编写sql映射文件
<-- namespace的值为对应接口的全类名 -->7.编写测试类<-- 每条sql标签的id 应该与接口中对应的方法名一直 resultType 的值为sql语句返回的数据类型 在核心配置文件中设置了pojo包下类的别名 所以直接用类名调用即可 -->
以查询方法为例
@Test
public void selectAll() {
//类加载器加载核心配置文件
InputStream in= TestMybatis.class.getClassLoader().getResourceAsStream("sqlMapConfig.xml");
//解析核心配置文件
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
SqlSessionFactory factory=builder.build(in);
//创建sqlSession对象 其底层还是 Connection
SqlSession sqlSession=factory.openSession();
//使用接口代理的方式处理sql
BrandMapper mapper=sqlSession.getMapper(BrandMapper.class);
//查询数据不许用参数 如果有参数传入即可 mybatis会自动在sql中复制
Listlist=mapper.selectAll();
for (Brand brand : list) {
System.out.println(brand);
}
sqlSession.close();
}
SqlSessionFactory 会自动开启事务
如果是增删改的操作需要提交事务
调用sqlSession.comit()即可



