一、添加mybatis和数据库驱动依赖
<!--添加mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.0</version>
</dependency>
<!--添加mysql驱动依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>
二、在pom.xml指定mapper路径保护到classpath中去。
<!-- resouce插件 -->
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
三、创建实体类
public class User {
private Integer id;
private String type;
private String name;
private String description;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", type='" + type + '\'' +
", name='" + name + '\'' +
", description='" + description + '\'' +
'}';
}
}
四、创建Dao接口,并定义业务方法。
import com.jishuge.app01.model.User;
import org.apache.ibatis.annotations.Mapper;
import javax.websocket.server.PathParam;
/**
* @Mapper:告诉Mybatis这是dao接口,创建该接口的代理对象。
*/
@Mapper
public interface UserDao {
User selectById(@PathParam("id") Integer id);
}
五、在mapper中创建对应的xml文件,写sql语句
<?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">
<!--指定是那个Dao文件接口。-->
<mapper namespace="com.jishuge.app01.dao.UserDao">
<!--id应该是方法名称,这样可以保持唯一性-->
<!-- #{id} 就是传入的方法参数 -->
<select id="selectById" resultType="com.jishuge.app01.model.User">
select * from user where id= #{id};
</select>
</mapper>
六、创建Service层对象,创建Service接口和实现类,调用Dao对象方法。
//创建Service接口
public interface UserService {
public User queryUser(Integer id);
}
//实现Service接口
/**
* 一定要加入这个@service,声明为业务层对象。
*/
@Service
public class UserServiceImpl implements UserService {
/**
* 自动注入
*/
@Autowired
private UserDao userDao;
@Override
public User queryUser(Integer id) {
return userDao.selectById(id);
}
}
七、创建controller对象访问Service
@Controller
public class BootController {
@Autowired
private UserService userService;
@RequestMapping("/user/info")
@ResponseBody
public String getUserInfo(Integer id) {
User user = userService.queryUser(id);
return user.toString();
}
}
八、在application.yml文件配置数据库链接信息。
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=PRC
password: root
username: root
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #日志配置,输出到控制台
mapper-locations: classpath:mapper/*.xml #指定mapper文件地址