Mybatis安装配置使用
####1、配置 http://blog.csdn.net/gebitan505/article/details/54929287
- 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>
复制代码
- 配置文件添加参数
spring:datasource:driverClassName: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/login?useUnicode=true&characterEncoding=utf-8username: rootpassword: 630203type: com.alibaba.druid.pool.DruidDataSource复制代码
- 配置数据库连接的一些参数
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、使用数据库
- 定义Dao的mapper
第一种方式,直接在Mapper上面加Mapper注解,这样Spring就会把它加入到容器中
@Mapper
public interface LoginDao {
}
复制代码
第二种方式,不加注解,在Application中指定Mapper包,以后这个包下的都会自动加入到Spring容器中
@SpringBootApplication
@MapperScan("com.example.juwnen")
public class MyApplication
}
复制代码
- Sql语句的实现方法
第一种是直接在Mapper中的方法上直接写Sql语句
public interface LoginDao {@Select("select * from UserTable")List<UserEntity> queryUser();
}
复制代码
第二种是通过Mapper映射到Mapper文件,在Mapper中进行填写Sql的实现
- 在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>
复制代码
- 并且在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安装配置使用相关推荐
- 怎么检查python是否安装成功-检查python以及django是否安装配置成功
首先说明下,我使用pycharm作为开发的IDE,在第一次创建django项目的时候,会自动安装django包的.(网上也有很多单独安装的方法),环境变量配置成功后,就是用下面的方法检测安装成功与否. ...
- Spring Boot入门系列(六)Spring Boot如何使用Mybatis XML 配置版【附详细步骤】
前面介绍了Spring Boot 中的整合Thymeleaf前端html框架,同时也介绍了Thymeleaf 的用法.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/z ...
- java mysql SSM实现的校园门户平台网站系统源码+含开题报告与需求分析+包安装配置
下载地址:https://download.csdn.net/download/ouyangxiaobai123/22174377 项目介绍: java mysql SSM实现的校园门户平台网站系统源 ...
- Web基础配置篇(十一): Zookeeper的安装配置及使用
Web基础配置篇(十一): Zookeeper的安装配置及使用 一.概述 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop ...
- redis cli 删除key 模糊_Web基础配置篇(六): Redis的安装配置及基本操作
Web基础配置篇(六): Redis的安装配置及基本操作 一.概述 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的A ...
- Web基础配置篇(十二): Elasticsearch的安装配置及入门使用
Web基础配置篇(十二): Elasticsearch的安装配置及入门使用 一.概述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RE ...
- Web基础配置篇(十四): Kafka单机、集群的安装配置及使用
Web基础配置篇(十四): Kafka单机.集群的安装配置及使用 一.概述 Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传 ...
- Web基础配置篇(十七): Kubernetes dashboard安装配置
Web基础配置篇(十七): Kubernetes dashboard安装配置 一.概述 Kubernetes 简称为K8S,是用于自动部署,扩展和管理容器化应用程序的开源系统.Kubernetes的目 ...
- 基于SSM的物流仓储管理系统(包远程安装配置和代码讲解)
博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 基于SSM的物流仓储管理系统 演示视频 基于SSM的物流仓储管理系统( ...
- mysql64如何配置_win7 64位下如何安装配置mysql-winx64(安装记录)
win7 64位下如何安装配置mysql winx64 1.mysql下载 官方网站下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5. ...
最新文章
- Runloop, 多线程
- Android UI法宝的设计资源的开发
- jquery 视觉特效(幻灯片效果)
- 3_8 StateMode 状态模式
- POJ3237 树的维护
- appium 环境搭建(不推荐安装此版本appium,推荐安装appium desktop)
- 修改innodb_flush_log_at_trx_commit参数提升insert性能
- 服务器返回值 解释 ajax提交方式 后台数据刷进前端
- PBFT 算法原理简介
- 结构体之位域(位段)
- Windwalker —— 企业级 PHP 应用开发框架
- 拓端tecdat|Matlab用BUGS马尔可夫区制转换Markov switching随机波动率SV模型、序列蒙特卡罗SMC、Metropolis Hastings采样分析时间序列数据
- SpringBoot 的错误处理机制
- Java 小记 — RabbitMQ 的实践与思考
- 开源点云数据处理 开源_使用开源软件教授大数据处理
- Axure组件库资源
- 通达信自带指标 阶段放量(c112)
- jsp怎么做柱状图_js实现柱状图
- 009.查找手机电话簿【散列表】
- IE浏览器设置默认显示版本