Spring Boot 使用 MyBatis

application.properties 配置文件參數設置

spring.datasource.url=jdbc:mysql://localhost:3306/test?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC  
spring.datasource.username=root
spring.datasource.password=iosaps
spring.datasource.tomcat.test-while-idle=true
spring.datasource.tomcat.validation-query=SELECT 1

mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml

mybatis-config.xml

<?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>

</configuration>

sql語句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.techprimers.mybatis.springbootmybatis.mapper.UsersMapper">
    <select id="findAll" resultType="com.techprimers.mybatis.springbootmybatis.model.Users">
        select * from users
    </select>

    <insert id="insert">
        insert into users(id,name,salary) values(#{id},#{name},#{salary})
    </insert>

    <update id="update">
        update users set name=#{name},salary=#{salary} where name=#{name}
    </update>

    <delete id="delete">
        delete from users where name=#{name}
    </delete>

</mapper>

Mapper接口

public interface UsersMapper {

    List<Users> findAll();

    void insert(Users users);

    void update(Users users);

    void delete(Users users);
}

應用程序主引導類

@MapperScan("com.techprimers.mybatis.springbootmybatis.mapper")
@SpringBootApplication
public class SpringBootMybatisApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootMybatisApplication.class, args);
    }
}

注意:當使用 @MapperScan 註解時,就不需在每個Mapper接口上添加 @Mapper註解了。

使用:

@RestController
@RequestMapping("/rest/users")
public class UsersResource {
    private UsersMapper usersMapper;

    public UsersResource(UsersMapper usersMapper) {
        this.usersMapper = usersMapper;
    }

    @GetMapping("/all")
    public List<Users> getAll(){
        return usersMapper.findAll();
    }

    @GetMapping("/update")
    private List<Users> update(){
        Users users=new Users();
        users.setName("Youtube");
        users.setSalary(2333L);
        users.setId(10);
        usersMapper.insert(users);

        return usersMapper.findAll();
    }

    @GetMapping("/updateUsers")
    private List<Users> updateUsers(){
        Users users=new Users();
        users.setName("Youtube");
        users.setSalary(555L);

        usersMapper.update(users);
        return usersMapper.findAll();
    }

    @GetMapping("/delete")
    private List<Users> delete(){
        Users users=new Users();
        users.setName("Youtube");

        usersMapper.delete(users);
        return usersMapper.findAll();
    }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章