springboot整合Mybatis(一)——入门
2018-02-12 11:27
555 查看
一、概述
1.先导mybatis入门随笔:http://www.cnblogs.com/jiangbei/p/6884641.html
2.引入依赖
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency>
//其他必须的依赖还包括mysql连接,web依赖(web项目),此处贴出完整依赖(有部分依赖例如jpa此处可不选)
package com.example.demo.service; import com.example.demo.dao.GirlRepository; import com.example.demo.bean.Girl; import com.example.demo.enums.ResultEnum; import com.example.demo.exception.MyException; import com.example.demo.mapper.GirlMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * service * * @author zcc ON 2018/2/9 **/ @Service public class GirlService { @Autowired private GirlRepository girlRepository; @Autowired private GirlMapper girlMapper; @Transactional public void insertTwo() { Girl girl1 = new Girl("Nana", 18); Girl girl2 = new Girl("Lala", 19); girlRepository.save(girl1); girlRepository.save(girl2); } public void getAge(Integer id) { Integer age = girlRepository.findOne(id).getAge(); if (age < 12) { // 小学生 throw new MyException(ResultEnum.PRIMARY); } else { // 上初中了 throw new MyException(ResultEnum.MIDDLE); } } /** * 通过id查询 * @param id 实体类id * @return */ public Girl findOne(Integer id) { return girlRepository.findOne(id); } public List<Girl> findByNameStartingWithAndIdLessThan(String name, Integer id) { return girlRepository.findByNameStartingWithAndIdLessThan(name, id); } public Girl findGirlById(Integer id) { return girlMapper.findGirlById(id); } public int updateGirl(Integer id, Girl girl) { return girlMapper.updateGirl(id, girl); } }
service
注入mapper报错的处理(不影响实际使用,强迫症可选)
实际测试可以使用经典的postman,也推荐IDEA自带的tool——REST Client
三、经典注解版
基本代码类似,只是少数代码更改项目结构:
yml配置mybatis:
mybatis: type-aliases-package: com.example.demo.bean mapper-locations: classpath:mybatis/mapper/*.xml config-location: classpath:mybatis/mybatis-config.xml
// 别名也可以在mybatis-config.xml中进行配置!,默认别名参考文档:点击查看
mybatis-config.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> </typeAliases> </configuration>
mapper:
package com.example.demo.mapper; import com.example.demo.bean.Girl; import org.apache.ibatis.annotations.Param; import java.util.List; /** * GirlMapper * * @author zcc **/ // 这里不在这里加@Repository注解,统一在启动类通过MapperScan扫描 public interface GirlMapper { Girl findGirlById(Integer id); List<Girl> findAll(); int addGirl(Girl girl); int updateGirl(@Param("id") Integer id, @Param("girl") Girl girl); int deleteGirl(Integer id); }
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接口代理实现编写规则: 1.映射文件中namespace要等于接口的全路径 2.映射文件中sql语句的id要等于接口的方法名 3.映射文件中传入参数类型要等于接口方法的入参 4.映射文件返回值类型要等于接方法的返回值类型 --> <mapper namespace="com.example.demo.mapper.GirlMapper"> <resultMap id="BaseResultMap" type="girl"> <id column="id" property="id" jdbcType="INTEGER"/> <result column="age" property="age" jdbcType="INTEGER"/> <result column="name" property="name" jdbcType="VARCHAR"/> </resultMap> <sql id="Base_Column_List"> id,age,name </sql> <select id="findGirlById" parameterType="integer" resultMap="BaseResultMap"> SELECT <include refid="Base_Column_List"/> FROM girl WHERE id = #{id} </select> <select id="findAll" resultMap="BaseResultMap"> SELECT <include refid="Base_Column_List"/> FROM girl </select> <select id="addGirl" parameterType="girl"> INSERT INTO girl(age,name) VALUES(#{age},#{name}) </select> <update id="updateGirl" parameterType="girl"> UPDATE girl SET age = #{age},name = #{name} WHERE id = #{id} </update> <delete id="deleteGirl" parameterType="integer"> DELETE FROM girl WHERE id = #{id} </delete> </mapper>
mapper中的各种警告处理(不影响使用,强迫症可以进行设置):
相关文章推荐
- Spring boot入门五 spring mvc spring boot mybatis配置整合
- SpringBoot入门——整合Mybatis
- SpringBoot入门之整合mybatis
- Spring boot入门,整合mybatis开发案例
- Spring Boot整合mybatis全注解入门教程
- (七)springboot入门之整合Mybatis
- SpringBoot入门-快速整合Mybatis
- Spring boot入门五 spring mvc spring boot mybatis配置整合
- springboot+mybatis整合(入门)
- spring boot(四):springboot整合使用mybatis
- Eclipse+maven+springboot+mybatis整合
- Spring boot整合mybatis
- 采用shardbatis在springBoot中实现表的水平拆分,整合swagger,mybatis,shardbatis,pagehelper
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
- Spring boot Mybatis 整合
- springboot整合mybatis
- Spring boot + mysql +mybatis 配置整合实例
- SpringBoot整合mybatis freemarker
- 全注解方式整合spring+mybatis模拟springboot整合
- Spring boot整合mybatis