美文网首页
Spring boot引入mybatis小记

Spring boot引入mybatis小记

作者: lunabird | 来源:发表于2018-06-23 18:28 被阅读65次

首先在pom文件中加入依赖:

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

然后在application.yml中加入配置:

mybatis:
  type-aliases-package: com.huangpeng.cloud.mybatisExample.entity
  mapper-locations: classpath:mybatis/*.xml

在mysql数据库中有一张user表:


image.png

然后在src/main/resources目录下新建一个文件夹mybatis,新增一个User.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.huangpeng.cloud.mybatisExample.mapper.UserMapper">

    <resultMap type="com.huangpeng.cloud.mybatisExample.entity.UserEntity" id="user">
        <result property="id" column="id" />
        <result property="name" column="name"/>
        <result property="age" column="age"/>
    </resultMap>

    <!-- 查找所有 -->
    <select id="getUser" resultMap="user">
        select * from user
    </select>

    <insert id="insert" parameterType="com.huangpeng.cloud.mybatisExample.entity.UserEntity">
        insert into USER (ID, NAME, AGE )
        values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{age,jdbcType=VARCHAR})
    </insert>

</mapper>

示例代码的目录结构如下:

image.png

UserController.java


@RestController
@RequestMapping("user")
public class UserController {
    private static final Logger logger = LoggerFactory.getLogger(UserController.class);

    @Autowired
    private IUserService userService;

    @GetMapping("getUser")
    @Transactional
    public List<UserEntity> getUser(){
        logger.info("获取用户数据");
        return userService.getUser();
    }
    @Transactional
    @RequestMapping(value = "insert", method = RequestMethod.POST)
    public String insertUser(@RequestBody UserEntity u) {
        try {
            userService.insert(u);
            return JSONObject.toJSON(userService.getUser()).toString();
        } catch (Exception e) {
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return JSONObject.toJSON(e).toString();
        }
    }
}

UserEntity.java


public class UserEntity {
    int id;
    String name;
    int age;

    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;
    }
}

UserMapper.java

public interface UserMapper {
    List<UserEntity> getUser();
    void insert(UserEntity user);
}

IUserService.java

public interface IUserService {
    List<UserEntity> getUser();
    void insert(UserEntity user);
}

IUserServiceImpl.java


@Service
public class IUserServiceImpl implements IUserService {

    @Autowired
    private UserMapper userMapper;

    //获取用户的信息
    public List<UserEntity> getUser(){
        List<UserEntity> userList = new ArrayList<>();
        userList = userMapper.getUser();
        return userList;
    }

    public void insert(UserEntity user){
        userMapper.insert(user);
    }
}

在项目启动类上添加注解:

@MapperScan(value = "com.huangpeng.cloud.mybatisExample.mapper")

然后启动项目,使用postman进行测试:
测试getUser接口:

image.png

测试insert接口:


image.png

相关文章

网友评论

      本文标题:Spring boot引入mybatis小记

      本文链接:https://www.haomeiwen.com/subject/kkhdyftx.html