####1、配置 http://blog.csdn.net/gebitan505/article/details/54929287

  1. Pom加入配置
 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><dependencies><!--数据库支持 --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency><!--mysql驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!--连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.5</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></build>
复制代码
  1. 配置文件添加参数
spring:datasource:driverClassName: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/login?useUnicode=true&characterEncoding=utf-8username: rootpassword: 630203type: com.alibaba.druid.pool.DruidDataSource复制代码
  1. 配置数据库连接的一些参数
mybatis.type-aliases-package=com.example.loginspring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = root
复制代码

####2、使用数据库

  1. 定义Dao的mapper

第一种方式,直接在Mapper上面加Mapper注解,这样Spring就会把它加入到容器中

@Mapper
public interface LoginDao {
}
复制代码

第二种方式,不加注解,在Application中指定Mapper包,以后这个包下的都会自动加入到Spring容器中

@SpringBootApplication
@MapperScan("com.example.juwnen")
public class MyApplication
}
复制代码
  1. Sql语句的实现方法

第一种是直接在Mapper中的方法上直接写Sql语句

public interface LoginDao {@Select("select * from UserTable")List<UserEntity> queryUser();
}
复制代码

第二种是通过Mapper映射到Mapper文件,在Mapper中进行填写Sql的实现

  1. 在Resources文件夹下创建mapper文件夹,创建对应Dao的mapper的xml。 UserMapper.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.example.test.demo.dao.AreaDao"><select id="queryArea" resultType="com.example.test.demo.entity.Area">SELECT *FROM tb_areaORDER BY priorityDESC</select><select id="queryAreaById" resultType="com.example.test.demo.entity.Area">SELECT *FROM tb_areaWHERE area_id=#{areaId}</select><!--useGeneratedKeys="true" 代表插入成功后会返回这条记录的id--><!--keyProperty="areaId" keyColumn="area_id 分别代表主键id和表中id的名字--><insert id="insertArea" useGeneratedKeys="true"parameterType="com.example.test.demo.entity.Area" keyProperty="areaId" keyColumn="area_id">INSERT INTOtb_area(area_name,priority,create_time,last_edit_time)VALUES(#{areaName},#{priority},#{createTime},#{lastEditTime})</insert><update id="updateArea" parameterType="com.example.test.demo.entity.Area">UPDATE tb_area<set><if test="areaName!=null">area_name=#{areaName},</if><if test="priority!=null">priority=#{priority},</if><if test="lastEditTime!=null">lastEditTime=#{lastEditTime},</if></set>WHERE area_id=#{areaId}</update><delete id="deleteArea">DELETE FROMtb_areaWHEREarea_id=#{areaId}</delete>
</mapper>
复制代码
  1. 并且在application.yml中配置这个mapper文件的路径
mybatis:mapper-locations: classpath*:mapper/*.xmltype-aliases-package: com.example.democonfig-location: classpath:mybatis.xml
复制代码

3 mapper文件中可以定义一些固定的常用名字

//定义表名
<sql id="tableName"> SYS_ADVERTSING </sql>//引用表名
SELECT * FROM
<include refid="tableName"></include>
复制代码

4 mapper返回类型

List< Map< String, Object > >  (对应) resultType="java.util.HashMap"
List< String>  (对应) parameterType="java.util.List"复制代码
<foreach item="userIds" collection="userIds" open="("separator="," close=")">#{userIds}</foreach>
复制代码

5 如果是多参数状态,没法指定入参的类型

//用注解方式指定别名
void updateAdvertsing( @Param( "advertsingId" ) String advertsingId, @Param( "updateParams" ) Map< String, Object > updateParams );使用的时候,直接用别名
#{advertsingId}
#{updateParams.modifierId}
复制代码

6 返回Boolean格式

<select id="ifExist" parameterType="string" resultType="boolean"><![CDATA[ select count(id) from web_member where name = #{name} ]]></select>
复制代码

7 遍历传入的Map对象,导入每一个set对象组合

<set><foreach collection="updateParams.entrySet()" index="key" item="value"separator=","><if test="key != 'id'.toString()">${key} = #{value}</if></foreach></set>
复制代码

8 使用like关键字

2.  bind标签<select id="selectPersons" resultType="person" parameterType="person"><bind name="pattern" value="'%' + _parameter.username + '%'" />select id,sex,age,username,password from personwhere username LIKE #{pattern}
</select>
复制代码

9 插入list集合,批量insert into,想要批量insert into ,可以在Values后面的值,运用多个括号,,号分割,这样一条insert就可以插入多条

INSERT INTO<include refid="tableName"></include>(EXPRESS_ID,BRAND_ID,BRAND_NAME,CREATOR_ID,CREATOR,CREATE_TIME,MODIFIER_ID,MODIFIER,MODIFY_TIME)VALUES<foreach collection="userAppointExpressList" index="index"item="item" separator=",">(#{item.expressId},#{item.brandId},#{item.brandName},#{item.creatorId},#{item.creator},#{item.createTime},#{item.modifierId},#{item.modifier},#{item.modifyTime})</foreach>
复制代码

10 格式化返回的时间格式

DATE_FORMAT(CREATE_TIME,'%Y-%m-%d %H:%i:%s') as createTime
复制代码

####3 参考网站

Spring Boot + MyBatis + MySQL 整合

在Spring Boot中集成Mybatis

MyBatis官方网站 ####4 使用问题

1 遇到查询数据库的时候,表字段有下划线的字段查询不出来数据。

解决方法:配置MyBstis的全局配置,让他能够映射出字段

<?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><!-- 全局配置 --><settings><!--允许 JDBC 支持自动生成主键--><setting name="useGeneratedKeys" value="false" /><!--是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典Java 属性名 aColumn 的类似映射。 --><setting name="mapUnderscoreToCamelCase" value="true" /></settings>
</configuration>
复制代码

转载于:https://juejin.im/post/5b3ac770e51d4555c651b886

Mybatis安装配置使用相关推荐

  1. 怎么检查python是否安装成功-检查python以及django是否安装配置成功

    首先说明下,我使用pycharm作为开发的IDE,在第一次创建django项目的时候,会自动安装django包的.(网上也有很多单独安装的方法),环境变量配置成功后,就是用下面的方法检测安装成功与否. ...

  2. Spring Boot入门系列(六)Spring Boot如何使用Mybatis XML 配置版【附详细步骤】

    前面介绍了Spring Boot 中的整合Thymeleaf前端html框架,同时也介绍了Thymeleaf 的用法.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/z ...

  3. java mysql SSM实现的校园门户平台网站系统源码+含开题报告与需求分析+包安装配置

    下载地址:https://download.csdn.net/download/ouyangxiaobai123/22174377 项目介绍: java mysql SSM实现的校园门户平台网站系统源 ...

  4. Web基础配置篇(十一): Zookeeper的安装配置及使用

    Web基础配置篇(十一): Zookeeper的安装配置及使用 一.概述 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop ...

  5. redis cli 删除key 模糊_Web基础配置篇(六): Redis的安装配置及基本操作

    Web基础配置篇(六): Redis的安装配置及基本操作 一.概述 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的A ...

  6. Web基础配置篇(十二): Elasticsearch的安装配置及入门使用

    Web基础配置篇(十二): Elasticsearch的安装配置及入门使用 一.概述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RE ...

  7. Web基础配置篇(十四): Kafka单机、集群的安装配置及使用

    Web基础配置篇(十四): Kafka单机.集群的安装配置及使用 一.概述 Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传 ...

  8. Web基础配置篇(十七): Kubernetes dashboard安装配置

    Web基础配置篇(十七): Kubernetes dashboard安装配置 一.概述 Kubernetes 简称为K8S,是用于自动部署,扩展和管理容器化应用程序的开源系统.Kubernetes的目 ...

  9. 基于SSM的物流仓储管理系统(包远程安装配置和代码讲解)

          博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 基于SSM的物流仓储管理系统 演示视频 基于SSM的物流仓储管理系统( ...

  10. mysql64如何配置_win7 64位下如何安装配置mysql-winx64(安装记录)

    win7 64位下如何安装配置mysql winx64 1.mysql下载 官方网站下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5. ...

最新文章

  1. Runloop, 多线程
  2. Android UI法宝的设计资源的开发
  3. jquery 视觉特效(幻灯片效果)
  4. 3_8 StateMode 状态模式
  5. POJ3237 树的维护
  6. appium 环境搭建(不推荐安装此版本appium,推荐安装appium desktop)
  7. 修改innodb_flush_log_at_trx_commit参数提升insert性能
  8. 服务器返回值 解释 ajax提交方式 后台数据刷进前端
  9. PBFT 算法原理简介
  10. 结构体之位域(位段)
  11. Windwalker —— 企业级 PHP 应用开发框架
  12. 拓端tecdat|Matlab用BUGS马尔可夫区制转换Markov switching随机波动率SV模型、序列蒙特卡罗SMC、Metropolis Hastings采样分析时间序列数据
  13. SpringBoot 的错误处理机制
  14. Java 小记 — RabbitMQ 的实践与思考
  15. 开源点云数据处理 开源_使用开源软件教授大数据处理
  16. Axure组件库资源
  17. 通达信自带指标 阶段放量(c112)
  18. jsp怎么做柱状图_js实现柱状图
  19. 009.查找手机电话簿【散列表】
  20. IE浏览器设置默认显示版本

热门文章

  1. mapper mysl实现批量插入 更新
  2. n文件的上传和下载,struts2和springmvc
  3. expect的安装与使用
  4. SPFA和FLOYD算法如何打印路径
  5. Swing 设置无边框Frame
  6. alias自定义别名
  7. C 语言实例 - 判断奇数/偶数
  8. Integer与int的种种比较
  9. javascrip之prototype
  10. poj 3278 Catch That Cow (bfs 搜索)