1.项目结构
.
2.eclipse下新建maven工程,并引入依赖。-- pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itcast</groupId>
<artifactId>springboot-mybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.0.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
</project>
3.编写实体类 -- User.java
package com.itcast.entity;
public class User {
private Long id;
private String name;
private Integer age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
4.编写 UserMapper.java
package com.itcast.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import com.itcast.entity.User;
@Mapper
@Repository
public interface UserMapper {
List<User> queryList();
User queryById(Long id);
void save(User user);
void batchDelete(Integer[] ids);
void update(User user);
}
5.配置UserMapper.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.itcast.mapper.UserMapper">
<select id="queryList" resultType="User">
SELECT u.id, u.name, u.age FROM user u
</select>
<select id="queryById" resultType="User">
SELECT u.id, u.name, u.age FROM user u where u.id = #{id}
</select>
<insert id="save">
insert into user(name,age)
values(#{name}, #{age})
</insert>
<update id="update">
update user set name = #{name }, age = #{age} where id = #{id}
</update>
<delete id="batchDelete">
delete from user where id in
<foreach collection="array" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- <delete id="delUsers">
delete from user where id in
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete> -->
</mapper>
6.UserController.java
package com.itcast.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.itcast.entity.User;
import com.itcast.mapper.UserMapper;
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@RequestMapping("/list")
public String list(){
List<User> user = userMapper.queryList();
return user.toString();
}
@RequestMapping("/select")
public User select(){
User user = userMapper.queryById((long) 1);
return user;
}
@RequestMapping("/save")
public void save(){
User user = new User();
user.setName("张三");
user.setAge(18);
userMapper.save(user);
}
@RequestMapping("/update")
public void update(){
User user = new User();
user.setId((long)2);
user.setName("张三");
user.setAge(19);
userMapper.update(user);
}
@RequestMapping("/delete")
public void delete(){
Integer[] ids = new Integer[3];
ids[0] = 2;
userMapper.batchDelete(ids);
}
}
7.SpringBoot启动类
package com.itcast.app;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan(basePackages = "com.itcast")
@MapperScan(basePackages = "com.itcast.mapper")
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
8.连接数据库的配置文件application.properties,在此注意mybatis.mapper-locations=classpath*:*.xml要和配置的xml文件相对应要不无法找到相应的方法
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database = mysql
mybatis.mapper-locations=classpath*:*.xml
mybatis.type-aliases-package=com.itcast.entity
9.启动成功,打开浏览器进行测试