mapper

Mybatis与Spring整合方法

橙三吉。 提交于 2020-02-05 01:13:20
实现mybatis与spring进行整合,通过spring管理SqlSessionFactory、mapper接口。 tips:mybatis官方提供与mybatis与spring整合jar包。 一、Mybatis配置文件:SqlMapConfig.xml 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-config.dtd"> 5 <configuration> 6 7 <!—使用自动扫描器时,mapper.xml文件如果和mapper.java接口在一个目录则此处不用定义mappers --> 8 <mappers> 9 <package name="cn.itcast.mybatis.mapper" /> 10 </mappers> 11 </configuration> View Code 二、Spring配置文件:在classpath下创建applicationContext.xml,定义数据库链接池、SqlSessionFactory。 1 <beans xmlns="http://www.springframework

Spring+SpringMvc+Mybatis+ehcache ssm简单整合ehcache缓存

让人想犯罪 __ 提交于 2020-02-04 22:42:14
z这里只讲ssm整合ehcache缓存,对于还不了解ssm的童鞋,请先浏览ssm整合那篇 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。 首先配置EhCache jar包 <!-- ehcache 相关依赖 --> <!-- https://mvnrepository.com/artifact/net.sf.ehcache/ehcache --> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.10.4</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> </dependencies> 目录结构 配置ehcache

SSM整合

ぃ、小莉子 提交于 2020-02-04 22:11:29
环境搭建 1、新建SpringMVC项目,添加所需的jar包 spring-core.jar spring-beans.jar spring-context.jar spring-expression.jar spring-aop.jar (使用spring的注解) spring-jdbc.jar (spring-tx.jar依赖spring-jdbc,如果要使用spring的事务管理,需添加此包。就算不使用spring的事务管理,mybatis-spring.jar依赖此包,也必须添加此包) spring-tx.jar (事务一般是用spring的事务管理,如果要使用spring的事务管理,需要添加此包)   (如果要整合AspectJ) spring-aspects.jar aopalliance.jar aspectjweaver.jar mybatis.jar log4j.jar commons-logging.jar mybatis-spring.jar (spring整合mybatis需要的包。springmvc本身就是spring的一部分,本来就要搭配使用,不存在什么整合的说法) 数据库驱动 dbcp的jar包 (也可以使用其它连接池) java web2个jar:servlet、jsp各一个 (需要用到request、response、session等对象) 2

Spring整合mybatis, @MapperScan 原理(spring-mybatis)

≯℡__Kan透↙ 提交于 2020-02-04 21:01:02
@MapperScan("com.lz.springboot.mybatis.springbootmybatis.mapper") 定义mapper接口扫面位置 @Import(MapperScannerRegistrar.class) mapper扫描注册器 扫描目标包下的mapper接口 MapperScannerRegistrar implements ImportBeanDefinitionRegistrar, ResourceLoaderAware 覆盖 registerBeanDefinitions 方法使用JDK动态代理创建代理对象,并加入spring ioc容器中 ClassPathMapperScanner 注册 basePackage 中的 mapper MapperFactoryBean 工厂bean方式返回具体的代理对象 @Override public T getObject() throws Exception { return getSqlSession().getMapper(this.mapperInterface); } MapperProxyFactory 利用JDK动态代理创建对象 protected T newInstance(MapperProxy<T> mapperProxy) { return (T) Proxy

mybatis面试题

让人想犯罪 __ 提交于 2020-02-04 14:32:32
1.对mybatis的理解,优点和缺点 mybatis是一个持久层的开源框架,对JDBC进行了封装,是一个不完全的orm映射,通过xml进行sql语句的统一管理 优点: 1.基于sql语句,把sql语句在xml里统一管理,解耦 2.因为用JDBC连接,所以可以与数据库更好的兼容 3.能够与spring有很好的集成 缺点: sql语句工作量大 数据库移植性差 映射的什么不映射的什么? 只对输入输出映射,不对sql映射 2.什么项目建议使用mybatis? 因为mybatis注重sql语句是一个灵活的dao层解决方案,所以对需求变化特别大的,性能要求高的,如互联网项目,是一个不错的选择 3.#{}和${}区别 1.#{}相当于占位符,就是原始JDBC中的? 2. KaTeX parse error: Expected 'EOF', got '#' at position 30: … 3.当传入的值是基本类型时,#̲{}中可以随便写,但 {}中要写value,当是对象类型时,都要和对象的属性名对应 4.mapper代理开发 1.mapper映射文件要和mapper接口同名最好同包 2.mapper映射文件的命名空间(namespace)要是对应的mapper接口的全路径名 3.mapper映射文件中标签的输入参数要和mapper接口中方法的形参一致 4

springboot+mybatis实现数据增删改查

血红的双手。 提交于 2020-02-04 14:29:39
springboot+mybatis实现数据增删改查 上一篇讲到使用idea创建springboot项目 那么下面我们来讲讲使用mybatis实现增删改查(curd)吧。 1、数据库创建 2、pom.xml文件 加入依赖mysql 等等 <!--mysql依赖--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> 3、在配置文件(application.yml)中加入数据库的配置 注意用户名、密码、库名、包名路径改成自己的 server: port: 8111 servlet: context-path: / spring: datasource: username: root password: '*******' driver-class-name: com.mysql.cj.jdbc

Invalid bound statement (not found): cn.e3mall.mapper.TbItemMapper.selectByPrimaryKey

为君一笑 提交于 2020-02-04 14:19:08
此异常的原因是由于mapper接口编译后在同一个目录下没有找到mapper映射文件而出现的。由于maven工程在默认情况下src/main/java目录下的mapper文件是不发布到target目录下的。 在e3-manager-dao工程的pom文件中添加如下内容: <!-- 如果不添加此节点 mybatis 的mapper.xml文件都会被漏掉。 --> < build > < resources > < resource > < directory > src /main/java </ directory > < includes > < include > **/*.properties </ include > < include > **/*. xml </ include > </ includes > < filtering > false </ filtering > </ resource > </ resources > </ build > 来源: CSDN 作者: loveyour_1314 链接: https://blog.csdn.net/loveyour_1314/article/details/79091180

Spring整合MyBatis

▼魔方 西西 提交于 2020-02-04 09:47:35
环境搭建 1、新建Spring项目,添加所需的jar包 spring-core.jar spring-beans.jar spring-context.jar spring-expression.jar spring-aop.jar (使用spring的注解) spring-jdbc.jar (spring-tx.jar依赖spring-jdbc,如果要使用spring的事务管理,需添加此包。就算不使用spring的事务管理,mybatis-spring.jar依赖此包,也必须添加此包) spring-tx.jar (事务一般是用spring的事务管理,如果要使用spring的事务管理,需要添加此包)   (如果要整合AspectJ) spring-aspects.jar aopalliance.jar aspectjweaver.jar mybatis.jar log4j.jar commons-logging.jar mybatis-spring.jar (这个是spring整合mybatis需要的包,需要自行下载添加,官方提倡使用maven,在github上也只提供源码,jar只能到maven仓库去下载) 数据库驱动 dbcp的jar包 (也可以使用其它连接池) 2、src下新建db.properties jdbc.driver=com.mysql.cj.jdbc

Mybatais

江枫思渺然 提交于 2020-02-04 00:55:50
1.架构整体设计      功能架构讲解:    我们把Mybatis的功能架构分为三层:     1. API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。     2. 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。     3. 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。 2.Mybatis开发流程   2.1 添加Mybatis依赖        2.2 实体映射类        2.3 SQL映射文件      在src/main/resource下创建与当前表对应的SQL映射文件用于声明SQL语句        2.4 Mybatis核心配置文件       <beans>     <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">     <property name="location" value="classpath:jdbc.properties"/>

MapReduce执行过程

↘锁芯ラ 提交于 2020-02-04 00:07:10
一、分析MapReduce执行过程 MapReduce运行的时候,会通过Mapper运行的任务读取HDFS中的数据文件,然后调用自己的方法,处理数据,最后输出。Reducer任务会接收Mapper任务输出的数据,作为自己的输入数据,调用自己的方法,最后输出到HDFS的文件中。整个流程如图: 二、Mapper任务的执行过程详解 每个Mapper任务是一个java进程,它会读取HDFS中的文件,解析成很多的键值对,经过我们覆盖的map方法处理后,转换为很多的键值对再输出。整个Mapper任务的处理过程又可以分为以下几个阶段,如图所示。 在上图中,把Mapper任务的运行过程分为六个阶段。 第一阶段是把输入文件按照一定的标准分片(InputSplit),每个输入片的大小是固定的。默认情况下,输入片(InputSplit)的大小与数据块(Block)的大小是相同的。如果数据块(Block)的大小是默认值64MB,输入文件有两个,一个是32MB,一个是72MB。那么小的文件是一个输入片,大文件会分为两个数据块,那么是两个输入片。一共产生三个输入片。每一个输入片由一个Mapper进程处理。这里的三个输入片,会有三个Mapper进程处理。 第二阶段是对输入片中的记录按照一定的规则解析成键值对。有个默认规则是把每一行文本内容解析成键值对。“键”是每一行的起始位置(单位是字节),“值