目录
在项目应用类扫描mapper(接口),这个引用路径换为你自己的
前提条件:会使用springBoot initializr搭建项目,并且已经会springBoot连接数据库
主要内容:maven仓库引入依赖,mybatis框架对一张表实现简单的查寻
这个链接的数据库在我的另一篇文章 springBoot配置数据库并且测试连接-优快云博客
第一步在pom.xml查看是否有mybatis的依赖·
如果没有在Maven Repository: mybatis 导入依赖坐标
建议使用启动器(减少配置)
复制这段代码到pom.xml,的,<dependencies>标签里,重新加载maven.
第二步配置mybatis
在application.properties添加
#配置mybatis实体和xml映射
mybatis.mapper-locations=classpath:mapper/*.xml
#配置日志
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
mybatis.configuration.map-underscore-to-camel-case=true
第三步使用mybatis实现查询功能
mybatis是优秀的持久层框架本质上还是对数据库的增删改查,所以你的一个表对应一个实体类(entity或domain),你需要三个东西,实体类,操作实体的接口,实现接口;
下面是我的例子
开发逻辑首先编写实体类,然后是功能接口,最后实现功能接口
Admin.java->AdminMapper.java(Interface)->AdminMapper.xml
我的Admin.java
路径项目路径下/domain
public class Admin {
private Integer id;
private String name;
private String password;
public Admin( String name, String password) {
this.name = name;
this.password = password;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Admin{" +
"id=" + id +
", name='" + name + '\'' +
", password='" + password + '\'' +
'}';
}
}
我的AdminMapper.java
路径项目路径下/mapper
public interface AdminMapper {
List<Admin> selectAll();
}
我的AdminMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace ="com.cdp.zwy.background_manager_back.mapper.AdminMapper">
<sql id="adminAll">
id,name,password
</sql>
<sql id="adminNotId">
name,password
</sql>
<resultMap id="admin" type="com.cdp.zwy.background_manager_back.domain.Admin">
<result column="id" property="id"/>
<result column="name" property="name"/>
<result column="password" property="password"/>
</resultMap>
<select id="selectAll" resultMap="admin">
select <include refid="adminAll"/>
from admin
</select>
</mapper>
注意其中
第四步测试查询功能
在test项目路径下新建/mapper
AdminMapperTest.java
@SpringBootTest
public class AdminMapperTest {
@Autowired
private AdminMapper adminMapper;
@Test
public void testSelectAll(){
List<Admin> admins = adminMapper.selectAll();
for (Admin admin : admins){
admin.setId(0);
System.out.println(admin.toString());
}
}
}
private AdminMapper adminMapper;会报错是因为你还没有注册Bean对象不能自动注入
在项目应用类扫描mapper(接口),这个引用路径换为你自己的
运行你的testSelectAll()方法
哈哈你成功了吗。