4. 整合MyBatis

Posted 旅鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4. 整合MyBatis相关的知识,希望对你有一定的参考价值。

mybatis既有jdbc的灵活,有具有orm工具的方便,是一套很好用的工具,这儿就使用mybatis来作为数据访问工具,具体添加过程如下:

1. 添加mybatis依赖,并更新项目

 1 <dependency>
 2     <groupId>mysql</groupId>
 3     <artifactId>mysql-connector-java</artifactId>
 4     <scope>runtime</scope>
 5 </dependency>
 6 <dependency>
 7     <groupId>org.mybatis.spring.boot</groupId>
 8     <artifactId>mybatis-spring-boot-starter</artifactId>
 9     <version>1.3.1</version>
10 </dependency>
pom.xml

2. 在application.properties中添加datasource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
3. 添加实体类

 1 package com.lvniao.blog.model;
 2 
 3 public class User {
 4 
 5     private Long id;
 6     
 7     private String name;
 8     
 9     private String password;
10 
11     public Long getId() {
12         return id;
13     }
14 
15     public void setId(Long id) {
16         this.id = id;
17     }
18 
19     public String getName() {
20         return name;
21     }
22 
23     public void setName(String name) {
24         this.name = name;
25     }
26 
27     public String getPassword() {
28         return password;
29     }
30 
31     public void setPassword(String password) {
32         this.password = password;
33     }
34 }
User.java

4. 添加Mapper类

package com.lvniao.blog.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import com.lvniao.blog.model.User;

@Mapper
public interface UserMapper {

    @Select("select id, name, password from users")
    public List<User> getUsers();
}
UserMapper.java

5. 在控制器中添加Mapper变量

 1 package com.lvniao.blog.admin.controller;
 2 
 3 import org.springframework.beans.factory.annotation.Autowired;
 4 import org.springframework.stereotype.Controller;
 5 import org.springframework.ui.Model;
 6 import org.springframework.web.bind.annotation.RequestMapping;
 7 
 8 import com.lvniao.blog.mapper.UserMapper;
 9 
10 @Controller
11 @RequestMapping("/admin")
12 public class AdminController {
13     
14     @Autowired
15     private UserMapper userMapper;
16     
17     @RequestMapping("/")
18     public String index(Model model) {
19         model.addAttribute("users", userMapper.getUsers());
20         return "admin/index";
21     }
22 }
AdminController

6. 在视图中添加对应的处理

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <title>lvniao</title>
 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 6 </head>
 7 <body>
 8     <table border="1">
 9         <tr><th>id</th><th>name</th><th>password</th></tr>
10         <tr th:each="user:${users}">
11             <td th:text="${user.id}"></td>
12             <td th:text="${user.name}"></td>
13             <td th:text="${user.password}"></td>
14         </tr>
15     </table>
16 </body>
17 </html>
index.html

如上就完成了spring和mybatis的整合,其中配置SqlSessionFactory的工作都是由mybatis提供了MybatisAutoConfiguration类完成的,而使用时只需在Mapper接口中添加对应的sql即可,极大地提高了开发速度。

以上是关于4. 整合MyBatis的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot:4.SpringBoot整合Mybatis实现数据库访问

Mybatis--02

Spring4.2.6+SpringMVC4.2.6+MyBatis3.4.0 整合

请教mybatis+spring+atomikos的整合问题

SSM 项目整合详细解读

2月4号学习的一个SSM整合项目,第一课