1.首先先创建一个新的表,使用下面的sql语句
-- 删除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;
2.创建新的实体类对应数据库的表里面的属性,创建对应的方法
3.在测试目录下新建测试类
4.安装MybatisX插件
该插件是基于IDEA的快速开发插件,为效率而生
主要功能:
XML和接口方法相互跳转
根据接口方法生成statement(就是Mapper.XML里面的sql语句映射)
如下图所示,接口和mapper中的语句相互对应,红鸟是跳到映射文件,蓝色的是跳到接口
还可自动根据接口何时生成对应的sql映射
创建另一个BrandMapper.XML
同样要放到和对应接口相同的目录下里面
11查询
11.1查询所有数据
Mapper接口
映射文件
测试代码
测试成功(有异常报错但是没有关系能跑就行)
增加一个新功能只需要三步,
编写接口方法-->编写sql映射-->执行方法测试
在输出里面有个别数据是null,这是因为在数据库里面的属性使用了下划线命名,但是在类里面使用驼峰命名法导致两者对应不上,不能自动封装数据
解决方案:
(1)起别名(缺点:每次都要起别名)
(2)使用resultMap进行映射:
定义<resultMap>标签
在select标签中要用resultmap属性替换resultType属性
<resultMap>里面有两种子标签,一个是id负责主键字段映射,一个result负责一般字符段映射其中colum是列的名称,property是实体类的属性名
上面两个解决方案都可以解决下划线和驼峰命名的问题
11.2查询单体数据
未完待续