1、建立項目
2、改pom文件
<!-- 修改jdk版本 --> <properties> <java.version>1.7</java.version> <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version> <thymeleaf-layout-dialect.version>2.0.4</thymeleaf-layout-dialect.version> </properties> <dependencies> <!-- springboot web啟動器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- springboot thymeleaf啟動器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!-- Mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <!-- Mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- 數據庫連接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.9</version> </dependency> </dependencies>
在classpath/跟下起個applicattion.properties文件。內容如下
spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/bbs spring.datasource.username=root spring.datasource.password=root spring.datasource.type=com.alibaba.druid.pool.DruidDataSource mybatis.type-aliases-package = com.zhu.pojo //給包起別名
3、 創建實體類

package com.zhu.pojo; public class Users { private Integer id; private String name; private Integer age; public Users() { super(); } public Users(Integer id, String name, Integer age) { super(); this.id = id; this.name = name; this.age = 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; } }
4、創建mapper接口和配置文件
編譯時會出錯,原因是xml文件少了頭部
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

package com.zhu.mapper; import com.zhu.pojo.Users; public interface UsersMapper { void insertUser(Users users); }

<?xml version="1.0" encoding="UTF-8"?>
<mapper namespace="com.zhu.mapper.UsersMapper">
<insert id = "insertUser" parameterType="users">
insert into user(name,age) values(#{name},#{age})
</insert>
</mapper>
5、業務層service和他的impl類

package com.zhu.service; import com.zhu.pojo.Users; public interface UsersService { void addUser(Users users); }

package com.zhu.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.zhu.mapper.UsersMapper; import com.zhu.pojo.Users; import com.zhu.service.UsersService; @Service @Transactional public class SreviceImpl implements UsersService { @Autowired private UsersMapper usersMapper; @Override public void addUser(Users users) { this.usersMapper.insertUser(users); } }
6、創建comtroller 和index頁面和成功頁面

package com.zhu.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import com.zhu.pojo.Users; import com.zhu.service.UsersService; @Controller @RequestMapping("/user") public class UserController { private UsersService usersService; /* * 頁面跳轉 */ @RequestMapping("/{page}") public String showPage(@PathVariable String page) { return page; } /* * 添加用戶 */ @RequestMapping("/addUser") public String addUser(Users users) { this.usersService.addUser(users); return "ok"; } }

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>添加用戶</title> </head> <body> <form th:action="@{/user/addUser}" method = "post"> 用戶名字:<input type="text" name="name"></input><br/> 用戶年齡:<input type="text" name="age"></input><br/> <input type="submit" value ="確認"></input><br/> </form> </body> </html>

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>成功</title> </head> <body> 操作成功 </body> </html>
7、啟動類,注意啟動類中葯多一個注解@MapperScan("com.zhu.mapper") //用於掃描Mybatis的Mapper接口,不然會產生異常
Field usersMapper in com.zhu.impl.SreviceImpl required a bean of type 'com.zhu.mapper.UsersMapper' that could not be found.
其中MapperScan()里的路徑是Mapper的路徑

package com.zhu; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.zhu.mapper") //用於掃描Mybatis的Mapper接口 public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
文檔根元素 "mapper" 必須匹配 DOCTYPE 根 "null"
啟動項目的時候報了這個錯,網上找了雖然沒有完全匹配的,但是解決方法是一樣的,mybatis的xml文件文件頭問題,開發人員復制粘貼的時候少復制了部分內容,原來報錯的寫法:
<?xml version="1.0" encoding="UTF-8"?>
<mapper namespace="com.test.mapper.TestMapper">
<insert id="test" useGeneratedKeys="true">
xxx
</insert>
</mapper>
正確頭文件應該加上
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">