springboot整合mybatis

138 阅读1分钟

入门开发

插入用户信息和查询用户信息

pom文件引入相关依赖

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath />
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- springboot 整合mybatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.21</version>
        </dependency>
     </dependencies>

配置application.yml文件

  datasource:
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver

mybatis:
    #mapper配置文件
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.kkk.entity

编写mapper接口和sqlMapper文件

@Mapper //否则启动类不知道他是mapper接口
public interface UserMapper {
    int insertUser(@Param("username") String username, @Param("age")Integer age);
    User selectUser(@Param("id")Integer id);
}
<?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.kkk.mapper.UserMapper">
    <insert id="insertUser">
        insert into `user`(username,age) values (#{username} , #{age})
    </insert>
    <select id="selectUser" parameterType="Integer" resultType="User">
        select username,age,id from `user` where id = #{id}
    </select>
</mapper>

编写service接口和service类

public interface MybatisService {
    boolean isInsert(String username,Integer age);
    User userList(Integer id);
}
@Service("mybatisService")
public class MybatisServiceImpl implements MybatisService {
    @Autowired
    private UserMapper userMapper;
    @Override
    public boolean isInsert(String username, Integer age) {
        if(username != null && age != null){
            return userMapper.insertUser(username,age) == 1;
        }
        return false;
    }

    @Override
    public User userList(Integer id) {
        return userMapper.selectUser(id);
    }
}

编写controller层

@Controller
public class MybatisController {
    @Autowired
    private MybatisService mybatisService;
    @RequestMapping("/isInsert")
    @ResponseBody
    public String isInsert(String username,Integer age){
        if(mybatisService.isInsert(username,age))  return "插入成功";
        else return "插入失败";
    }
    @RequestMapping("/userList")
    public String userList(Integer id, Map<String,Object> result){
        User user = mybatisService.userList(id);
        if(user == null) {
            return "error1";
        }
        int age = user.getAge();
        String username = user.getUsername();
        int userId = user.getId();
        result.put("age",age);
        result.put("username",username);
        result.put("userId",userId);
        return "user";
    }
}

前端页面

user.ftl

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8" />
    <title></title>
</head>
<body>
 ${username}
 ${age}
 ${userId}
</body>
</html>

error1.ftl

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8" />
    <title></title>
</head>
<body>
    <h1>失败</h1>
</body>
</html>

编写启动类

注意放在:com.kkk包下

@SpringBootApplication
//扫包范围:当前启动类同级包或者子包下面
public class APP {
    public static void main(String[] args) {
        SpringApplication.run(APP.class);
    }
}

数据库的user表截图

image.png

结果

image.png

image.png

image.png

image.png

image.png