大神学习:http://tengj.top/2017/04/23/springboot9/
Springboot简单整合mybatis步骤:
1.新建springboot项目,依赖选择 web、mysql、mybatis
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</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>
2.简单按照三层结构创建项目目录,结构如下
domain+dao+service+controller,另外在resource下创建mapper存放mybatis的mapper.xml文件
3.在application.properties配置数据源和mybatis配置
## 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
## Mybatis 配置
mybatis.typeAliasesPackage=com.sb.mybatis.domain
mybatis.mapperLocations=classpath:mapper/*.xml
4.按照传统模式编写pojo,dao层,service及实现类,controller类
注:
1.dao层方法名与mapper一致,参数与返回值也需要注意
2.在dao层的类名上需要加上注解@Mapper注明该类是dao层类,如果不加会导致service注入dao类时失败导致程序运行失败
3.service实现类上加上注解@Service
4.各个层之间调用使用@Autowired注入,使用idea开发有可能会出现注入错误,但是代码与程序都没有问题,可以运行
5.创建mapper.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.sb.mybatis.dao.CityDao">
<resultMap id="BaseResultMap" type="com.sb.mybatis.domain.City">
<result column="id" property="id" />
<result column="province_id" property="provinceId" />
<result column="city_name" property="cityName" />
<result column="description" property="description" />
</resultMap>
<parameterMap id="City" type="com.sb.mybatis.domain.City"/>
<sql id="Base_Column_List">
id, province_id, city_name, description
</sql>
<select id="findByName" resultMap="BaseResultMap" parameterType="java.lang.String">
select
<include refid="Base_Column_List" />
from city
where city_name = #{cityName}
</select>
</mapper>
运行程序 url:http://localhost:8080/api/city?cityName=aaa
项目源码:https://pan.baidu.com/s/1dEKdmZv (数据库自己根据pojo简单设置)