一、添加maven依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
二、添加相关配置文件(数据源等配置。。。)
spring:
datasource:
name: springboot
type: com.alibaba.druid.pool.DruidDataSource
#druid相关配置
druid:
#监控统计拦截的filters
filter: stat
#mysql驱动
driver-class-name: com.mysql.jdbc.Driver
#基本属性
url: jdbc:mysql://127.0.0.1:3306/springboot?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
username: root
password: root
#配置初始化大小/最小/最大
initial-size: 1
min-idle: 1
max-active: 20
#获取连接等待超时时间
max-wait: 60000
#间隔多久进行一次检测,检测需要关闭的空闲连接
time-between-eviction-runs-millis: 60000
#mybatis配置
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: cn.tycoding.entity
#mybaatis分页插件pagehelper设置
pagehelper:
pagehelperDialect: mysql
reasonable: true
support-methods-arguments: true
#params: count=countSql
三、开发Mapper
四、映射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">
<mapper namespace="cn.tycoding.mapper.GoodsMapper">
<resultMap id="baseMap" type="cn.tycoding.entity.Goods">
<id property="id" column="id" jdbcType="INTEGER"/>
<result property="title" column="title" jdbcType="VARCHAR"/>
<result property="price" column="price" jdbcType="VARCHAR"/>
<result property="image" column="image" jdbcType="VARCHAR"/>
<result property="brand" column="brand" jdbcType="VARCHAR"/>
</resultMap>
<!-- 查询所有 -->
<select id="findAll" resultType="cn.tycoding.entity.Goods">
SELECT * FROM tb_goods
</select>
<!-- 条件查询 -->
<select id="findByPage" parameterType="cn.tycoding.entity.Goods" resultMap="baseMap">
SELECT * FROM tb_goods WHERE 1=1
<if test="brand != null">
AND brand LIKE CONCAT('%', #{brand}, '%')
</if>
<if test="title != null">
AND title LIKE CONCAT('%', #{title}, '%')
</if>
</select>
<!-- 根据id查询 -->
<select id="findById" parameterType="Long" resultMap="baseMap">
SELECT * FROM tb_goods WHERE id = #{id}
</select>
<!-- 添加数据 -->
<insert id="create" parameterType="cn.tycoding.entity.Goods">
INSERT INTO tb_goods(title, price, image, brand)
VALUES(#{title}, #{price}, #{image}, #{brand})
</insert>
<!-- 更新数据 -->
<update id="update" parameterType="cn.tycoding.entity.Goods">
UPDATE tb_goods
<set>
<if test="title != null">
title = #{title},
</if>
<if test="price != null">
price = #{price},
</if>
<if test="image != null">
image = #{image},
</if>
<if test="brand != null">
brand = #{brand},
</if>
</set>
WHERE id = #{id}
</update>
<!-- 删除 -->
<delete id="delete" parameterType="Long">
DELETE FROM tb_goods WHERE id = #{id}
</delete>
</mapper>
注意,使用#符号和$符号的不同:
name = #{name}" name = '${name}'"