项目目录(以下只粘贴有用到的代码):
1.创建自己的数据库(跳过)
2.引入依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.4</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.31</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
3.创建mybatis配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 进行Mybatis的相应的环境的属性定义 -->
<settings> <!-- 在本项目之中开启二级缓存 -->
<setting name="cacheEnabled" value="true"/>
</settings>
</configuration>
4.数据源整合(配置连接数据库的参数DataSource)
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 配置当前要使用的数据源的操作类型
driver-class-name: org.gjt.mm.mysql.Driver # 配置MySQL的驱动程序类
url: jdbc:mysql://localhost:3306/school # 数据库连接地址
username: root # 数据库用户名
password: alan # 数据库连接密码
dbcp2: # 进行数据库连接池的配置
min-idle: 5 # 数据库连接池的最小维持连接数
initial-size: 5 # 初始化提供的连接数
max-total: 5 # 最大的连接数
max-wait-millis: 200 # 等待连接获取的最大超时时间
mybatis:
config-location: classpath:mybatis/mybatis.cfg.xml # mybatis配置文件所在路径
type-aliases-package: com.alan.springboot.entity # 定义所有操作类的别名所在包
mapper-locations: classpath*:mapper/*.xml # 所有的mapper映射文件
5.创建一个entiry类
package com.alan.springboot.entity;
import java.util.Date;
public class Teacher {
private String id;
private String phone;
private String idCard;
private String password;
private String name;
private Integer age;
private String sex;
private String address;
private String status;
private Date createTime;
//省略set,get方法
}
6.创建Dao,XML,Mapper文件
<?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.alan.springboot.dao.TeacherMapper">
<select id="selectByPrimaryKey" resultType="com.alan.springboot.entity.Teacher" parameterType="java.lang.String">
SELECT * FROM teacher where id = #{id}
</select>
</mapper>
package com.alan.springboot.dao;
import com.alan.springboot.entity.Teacher;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface TeacherMapper {
Teacher selectByPrimaryKey(String id);
}
7.创建service以及serviceImp
package com.alan.springboot.service;
import com.alan.springboot.entity.Teacher;
public interface TeacherService {
public Teacher selectByPrimaryKey(String id);
}
package com.alan.springboot.service.imp;
import com.alan.springboot.dao.TeacherMapper;
import com.alan.springboot.entity.Teacher;
import com.alan.springboot.service.TeacherService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class teacherServiceImp implements TeacherService {
@Resource
private TeacherMapper teacherMapper;
@Override
public Teacher selectByPrimaryKey(String id) {
return teacherMapper.selectByPrimaryKey(id);
}
}
8.创建controller方法
package com.alan.springboot.controller;
import com.alan.springboot.entity.Teacher;
import com.alan.springboot.service.TeacherService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@Controller
public class HelloController {
@Resource
private TeacherService teacherService;
@RequestMapping(value = "/teacher")
@ResponseBody
public Teacher teacher(){
return teacherService.selectByPrimaryKey("558409221087952896");
}
}
9.展示结果
遇到404错误解决方法:
1.确定mapper中的namespace没有写错;
2.确定dao中的方法名与xml中的id是否一致,切参数与返回值一致;
3.确定Dao类名与XML文件名一致;
4.检查dao中的方法是否全部与xml中对应(如果xml中没有,则应该删掉);
5.检查mapper的配置路径