springboot入门之mybatis

来源:互联网 发布:尼康优化校准设置技巧 编辑:程序博客网 时间:2024/05/29 14:39

大神学习: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文件
domain+dao+service+controller,另外在resource下创建mapper存放mybatis的mapper.xml文件

3.在application.properties配置数据源和mybatis配置

## 数据源配置spring.datasource.url=jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf8spring.datasource.username=rootspring.datasource.password=123spring.datasource.driver-class-name=com.mysql.jdbc.Driver## Mybatis 配置mybatis.typeAliasesPackage=com.sb.mybatis.domainmybatis.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简单设置)