目录
1.确定需求
前端访问后端URL,显示后端从数据库读取的数据
输入:前端访问URL为http://localhost:8080/hello
输出:前端显示后端从数据库读取的数据
2.新建项目及子模块
当子模块建立好后
启动新模块项目验证是否正常。最终由于DataSouce 未配置,预期结果应为启动失败
3.MySQL 数据库配置、添加数据
1.创建数据库
2.添加表
3.添加标的字段
4.添加数据
这个步骤太太太机械了,就简单讲一下建立表和添加数据。
建立users表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
age INT,
sex VARCHAR(10),
create_time TIMESTAMP
);
向users表中插入数据
INSERT INTO users (name, age, sex, create_time)
VALUES ('John Doe', 30, 'Male', NOW());
INSERT INTO users (name, age, sex, create_time)
VALUES ('Jane Smith', 25, 'Female', NOW());
4.代码部分
1.新建合适的目录结构
新建controller、service、mapper、domain 包
新建mapper 资源目录
新建controller、service、mapper、domain 对应的Java 文件
新建mapper 资源目录Java mapper 对应的XML 文件
建立完成后的目录结构为
2.各个部分的具体代码
HelloController.java
package com.example.mybatis.controller;
import com.example.mybatis.domain.User;
import com.example.mybatis.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class HelloController {
@Autowired
private UserService userService;
@GetMapping("/hello")
public List<User> hello()
{
return userService.selectAllUser();
}
}
User.java
package com.example.mybatis.domain;
public class User {
public int id;
private String name;
private int age;
public String sex;
public String createTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
}
UserMapper.java(接口类)
package com.example.mybatis.mapper;
import com.example.mybatis.domain.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserMapper {
public List<User> selectAllUser();
}
UserService.java
package com.example.mybatis.service;
import com.example.mybatis.domain.User;
import com.example.mybatis.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> selectAllUser()
{
return userMapper.selectAllUser();
}
}
UserMapper.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.example.mybatis.mapper.UserMapper">
<resultMap id="UserResult" type="User">
<id property="id" column="id" />
<result property="name" column="name" />
<result property="age" column="age" />
<result property="sex" column="sex" />
<result property="createTime" column="create_time" />
</resultMap>
<select id="selectAllUser" resultMap="UserResult">
select * from users
</select>
</mapper>