mapper

springboot 集成mybatis

▼魔方 西西 提交于 2019-12-04 08:47:00
首先创建springboot项目 yml配置 server: port: 8080 connectionTimeout: 1800000 连接时间spring: profiles: dev 启动环境 datasource: url: jdbc:mysql://192.168.3.50:3306/314?useSSL=false&characterEncoding=utf8&autoReconnect=true username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Drivermybatis: mapper-locations: classpath*:mapper/*Mapper.xml configuration: database-id: MySQLfdfs: soTimeout: 1500 connectTimeout: 600 thumbImage: width: 150 height: 150 trackerList: 192.168.3.51:22122logging: level: com.example.mapper: debug然后就写自己的controller,service,mapper,等了,最后postman测试一下就好了(localhost:8080

Mybatis精讲(一)---环境配置及架构梳理

我只是一个虾纸丫 提交于 2019-12-04 08:03:39
此文已独家授权给【新华前后端开发】使用。其他平台使用联系作者后再使用 [TOC] 简介 在数据库方面我们最常用的应该JDBC、Hibernate和Mybatis。通过JDBC方式连接数据库,我们会发现工作量是相当的复杂。我们得处理一些琐碎的关闭。然后入参出参我们都得自己管理。基于次产生了ORM(Object Relational Mapping)模型。 #ORM模型 简单的说ORM模型就是数据库表和Java对象的映射模型。主要解决了数据库和Java对象的相互映射。我们可以操作实体对象进而操作数据库表。这样的好处是我们不需要太了解数据库。减轻了我们的学习代价。 Hibernate 基于ORM模型很快我们的第二主角登场了。但是由于Hibernate配置比较复杂,且操作性能上不是很好。虽然大大的弱化了我们的sql但是因为性能低下很快就被淘汰了。 Ibatis Mybatis的前身严格意义上说应该是Ibatis,后面我们都称之为Mybatis.为了解决Hibernate的不足,Mybatis产生了相对于Hibernate的全表映射Mybatis可以说是半自动映射的框架。因为他是实体和sql结合的一个框架。 Mybatis有SQL , 实体 , 映射规则三个主要对象主成。和Hibernate相比虽然多出了sql的编写,但是正是因为sql的编写使得Mybatis变得很方便

Mybatis精讲(一)---环境配置及架构梳理

北城以北 提交于 2019-12-04 08:01:56
目录 简介 ORM模型 Hibernate Ibatis 环境搭建 jar 配置 xml方式配置 代码方式配置 两种方式对比 Mybatis结构 源码解读xml环境加载 映射器解读 Ibatis # 加入战队 微信公众号 此文已独家授权给【新华前后端开发】使用。其他平台使用联系作者后再使用 简介 在数据库方面我们最常用的应该JDBC、Hibernate和Mybatis。通过JDBC方式连接数据库,我们会发现工作量是相当的复杂。我们得处理一些琐碎的关闭。然后入参出参我们都得自己管理。基于次产生了ORM(Object Relational Mapping)模型。 ORM模型 简单的说ORM模型就是数据库表和Java对象的映射模型。主要解决了数据库和Java对象的相互映射。我们可以操作实体对象进而操作数据库表。这样的好处是我们不需要太了解数据库。减轻了我们的学习代价。 Hibernate 基于ORM模型很快我们的第二主角登场了。但是由于Hibernate配置比较复杂,且操作性能上不是很好。虽然大大的弱化了我们的sql但是因为性能低下很快就被淘汰了。 Ibatis Mybatis的前身严格意义上说应该是Ibatis,后面我们都称之为Mybatis.为了解决Hibernate的不足,Mybatis产生了相对于Hibernate的全表映射Mybatis可以说是半自动映射的框架

mybatis(八)mapper映射文件配置之select、resultMap

拥有回忆 提交于 2019-12-04 06:34:47
上篇介绍了insert、update、delete的用法,本篇将介绍select、resultMap的用法。select无疑是我们最常用,也是最复杂的,mybatis通过resultMap能帮助我们很好地进行高级映射。下面就开始看看select 以及 resultMap的用法: 先看select的配置吧: <select <!-- 1. id (必须配置) id是命名空间中的唯一标识符,可被用来代表这条语句。 一个命名空间(namespace) 对应一个dao接口, 这个id也应该对应dao里面的某个方法(相当于方法的实现),因此id 应该与方法名一致 --> id="selectPerson" <!-- 2. parameterType (可选配置, 默认为mybatis自动选择处理) 将要传入语句的参数的完全限定类名或别名, 如果不配置,mybatis会通过ParameterHandler 根据参数类型默认选择合适的typeHandler进行处理 parameterType 主要指定参数类型,可以是int, short, long, string等类型,也可以是复杂类型(如对象) --> parameterType="int" <!-- 3. resultType (resultType 与 resultMap 二选一配置) resultType用以指定返回类型

Jackson Mapping List of String or simple String

冷暖自知 提交于 2019-12-04 05:07:21
I'm trying to get some Json from an API and parse them into some POJO's to work with them but i have this case where i can get for a key a simple String or an arrayList of Strings. The Json looks like this : { "offerDisplayCategoryMapping": [ { "offerKey": "EUICC_BASE_ACTIVATION_V01", "categoriesKeys": { "categoryKey": "Included" } }, { "offerKey": "EUICC_BASE_ACTIVATION_V02", "categoriesKeys": { "categoryKey": "Included" } }, { "offerKey": "EUICC_BASE_ACTIVATION_V03", "categoriesKeys": { "categoryKey": [ "Option", "Included" ] } }] } I'm using Spring Rest to get the result from the API. I

解决INVALID BOUND STATEMENT (NOT FOUND)(MYBATIS的MAPPER绑定问题)

老子叫甜甜 提交于 2019-12-04 04:31:48
一、问题描述 使用mybatis的项目在本地可以正常运行,但当使用maven或Jenkins打包部署到服务器上时出现了绑定错误,异常信息为: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.yo.news.user.mapper.UserMapper.getUserByTelPwd 二、问题分析和解决方法 首先,给定的异常提示信息并不精准,有多个错误原因都会抛出该异常。mybatis出现这个问题,通常是由Mapper interface和对应的xml文件的定义对应不上引起的,这时就需要仔细检查对比包名、xml中的namespace、接口中的方法名称等是否对应。我之前就因为称忘记在xml标签的id属性中添加方法名或写错方法名而出现这个错误。 出现这个错误时,按以下步骤检查一般就会解决问题: 1:检查xml文件所在package名称是否和Mapper interface所在的包名一一对应; 2:检查xml的namespace是否和xml文件的package名称一一对应; 3:检查方法名称是否对应; 4:去除xml文件中的中文注释; 5:随意在xml文件中加一个空格或者空行然后保存。 -------------------------------- 但是!!!!!

SSM基础配置

僤鯓⒐⒋嵵緔 提交于 2019-12-04 03:52:11
SSM基本配置 一.基础框架文件 二.配置文件详情 1.基于mybatis配置 1.sqlMapConfig.xml如下: <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <!--开启驼峰命名--> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <!--开启别名--> <typeAliases> <!--该包下面的所有类不用引用全类名,直接使用类的名字即可无视大小写--> <package name="com.shiyan.bean"/> </typeAliases> <!--查询sql映射文件,项目启动的时候加载这个mappers配置,--> <mappers> <!--resource相对于java和resource下的文件, 加载该文件下面的salMapper接口的配置文件,通过找到的这个配置文件加载这个接口及接口方法--> <mapper resource="Mapper/CustomerMapper.xml"/> </mappers> <!--分页插件

Spring应用开发——Spring Boot与MyBatis的集成(一)

泄露秘密 提交于 2019-12-04 02:45:12
SSM(Spring+Spring MVC +MyBatis)是当前主流的框架组合开发方式之一,普遍被应用于互联网项目之中。下面以一个用户查询案例为例,讲解如何在Spring Boot中使用MyBatis。 1、准备数据库环境 在MySQL数据库中中,创建一个名为microservice的数据库,在microservice中创建数据表tb_user,并在表中插入3条数据。 2、创建项目,添加依赖 创建一个依赖于Web模块的Spring boot 项目,在项目的pom.xml中添加如下依赖配置信息。 在上述配置代码中,mybatis-spring-boot-starter是Spring boot中的MyBatis启动器配置,添加依赖后,Spring Boot会将MyBatis所需的JAR包自动添加到项目中。MySQL的驱动信息配置主要用于添加mysql数据库驱动JAR包,此JAR包会自动依照Spring Boot中的版本加载相应版本,也可以通过之低昂版本。 3、编写配置文件 在application。properties中添加数据库配置信息及日志信息。 4、创建实体类 在项目的src/main/java中创建包com.learn.spring.po,并在该包中创建实体类User。 5、编写Mapper 在项目的src/main/java中创建包com.learn.spring

Spring Boot 整合 Druid

独自空忆成欢 提交于 2019-12-04 01:07:04
Spring Boot 整合 Druid 概述 Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和 SQL 解析器组成。该项目主要是为了扩展 JDBC 的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计 SQL 信息、SQL 性能收集、SQL 注入检查、SQL 翻译等,程序员可以通过定制来实现自己需要的功能。 Druid 是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括 DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid 已经在阿里巴巴部署了超过 600 个应用,经过多年生产环境大规模部署的严苛考验。Druid 是阿里巴巴开发的号称为监控而生的数据库连接池! 引入依赖 在 pom.xml 文件中引入 druid-spring-boot-starter 依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.20</version> </dependency> 引入数据库连接依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql

MyBatis原理分析

别来无恙 提交于 2019-12-03 23:00:39
https://blog.csdn.net/weixin_43184769/article/details/91126687 MyBatis原理分析MyBatis工作流程简述原生MyBatis原理分析初始化工作解析配置文件配置类方式执行SQLSqlSession API方式接口方式真正掌握一个框架源码分析是少不了的~ 在讲解整合Spring的原理之前理解原生的MyBatis执行原理是非常有必要的 MyBatis工作流程简述传统工作模式: public static void main(String[] args) {InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession = factory.openSession();String name = "tom";List<User> list = sqlSession.selectList("com.demo.mapper.UserMapper.getUserByName",params);