org.mybatis.spring.boot
mybatis-spring-boot-starter
2.3.1
com.mysql
mysql-connector-j
runtime
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml
configuration: # 配置打印 MyBatis 执行的 SQL
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true #自动驼峰转换
# 配置打印 MyBatis 执行的 SQL
注意:
mapper为创建的目录名,自己设置,还有Mapper也可以自己设,但是一定要保持一致
①创建Mapper文件,首先在java目录下创建mapper目录,在mapper目录下常见UserInfoXNMLMapper文件,其次在resource目录下创建mapper目录,在maaper目录下创建同名的UserInfoXNMLMapper(必须一样),如果不一致,会出现spring找不到的情况,项目无法启动
在UserInfoXNMLMapper文件中加入方法
package com.example.demo.mapper;
import com.example.demo.model.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserInfoXMLMapper {
List selectAll();
}
注意
加注解@mapper,不添加会报错
在xml文件添加代码
注意:
1.mapper标签中的namespace内容是java目录下的UserInfoXNMLMapper文件路径
2.select标签为自己编写的查询语句 ,其中id是UserInfoXNMLMapper中的方法名必须一模一样,resultType为返回数据的类型
3.只有在select才会需要resultType
①增
方法声明在UserInfoXNMLMapper文件中
Integer insert(UserInfo userInfo);
在UserInfoXNMLMapper.xml文件中实现,用insert标签
insert into userinfo (username, password, age, gender, phone)
values(#{username},#{password},#{age},#{gender},#{phone})
注意
1.方法名和id一定要一样
2.useGeneratedKeys="true" keyProperty="id"自主获取id
3.如果出现重命名则需要对象应用 如userInfo.username
②删
方法声明在UserInfoXNMLMapper文件中,根据id删除
Integer delete (int id);
在UserInfoXNMLMapper.xml文件中实现,用delete标签
delete from userinfo where id=#{id}
③改
方法声明在UserInfoXNMLMapper文件中,根据id
Integer update(int gender,int id);
在UserInfoXNMLMapper.xml文件中实现,用update标签
update userinfo set gender=#{gender} where id=#{id};