需求分析
前端显示后端读取到的数据库的数据
新建项目
区别于上次直接新建的Spring initializr,此次项目需要先新建一个New Project,再继续新建子目录下的项目
在web中选择Spring Web,SQL中选择MYSQL Driver,MyBatis Framework
右键新生成的pom.xml文件,将其添加为Maven文件,然而创建时IDEA已经帮我们添加好了
新建数据库
打开Navicat,右键左侧目录的RuoYi,新建数据库,注意设置utf8字符格式
右键表,点击新建表
按照下图要求设置字段格式
保存后为表中添加两条记录
编写代码
如图建立controller,domain,mapper,service四个包
在resource中建立名为mapper的目录
在对应包内创建相关Java文件,并编写好代码
根据课件的流程走下来发现这里少了一个yml文件,所以我们自己新建一个,yml文件的创建详情见文末
具体代码
HelloController
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
package com.example.mybatis.domain;
public class User {
public int id;
private String name;
private int age;
public int sex;
public String createTime;
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
}
UserMapper
package com.example.mybatis.mapper;
import com.example.mybatis.domain.User;
import java.util.List;
public interface UserMapper {
public List<User> selectAllUser();
}
UserService
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 user
</select>
</mapper>
application.yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8
username: root
password: 2438881592
mybatis:
typeAliasesPackage: com.example.mybatis.domain
mapperLocations: classpath:mapper/*.xml
运行
这样就算实现了我们的需求
插曲
项目中没有yml文件怎么办?
idea如何创建yml文件_idea创建yml文件-优快云博客