背景 MyBatis的历史可谓久远了,码农们也在用着各式各样的代码生成工具.然而这些工具大部分都有一个缺点,那就是只能一次性生成文件.如果我们期间在生成的文件里做了修改,再次生成时,很多工具会覆盖我们的修改. 为什么会在生成文件后进行修改呢? 因为工具只会帮我们生成通用的数据库访问方法(比如只生成基本的CURD操作),我们不可避免的要根据实际的业务需要,添加其他的操作方法. 同时,数据库也不是设计完之后就一成不变的了,我们也可能在开发的过程中,调整已经建好的表结构.这个时候问题就来了,利用工具再…
在springmvc与mybatis整合时,需要对每一个mapper定义对应的一个MapperFactoryBean,可以使用MapperScannerConfigurer自动扫描mapper,然后自动为我们注册对应的MapperFactoryBean对象. 例如: <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="annotationClass&…
1. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="annotationClass" value="org.springframework.stereotype.Repository"/> <property name="basePackage" value="cn.jes…
MyBatis的Mapper文件的foreach标签用来迭代用户传递过来的Lise或者Array,让后根据迭代来拼凑或者批量处理数据.如:使用foreach来拼接in子语句. 在学习MyBatis Mapper文件的foreach标签时我们先看看DTD是如何定义的?DTD代码如下: <!-- 定义foreach元素 --> <!ELEMENT foreach (#PCDATA | include | trim | where | set | foreach | choose | if |…
整体目录结构: 其中包下全部是采用mybatis自动生成工具生成. mybatis自动生成文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/d…
上篇博客中介绍了关于Mybatis底层封装的思路问题,那么这篇博客,就介绍一下怎么引入通用的mapper插件. 备注:本项目通过maven管理 关键版本说明: spring:4.1.3.RELEASE:Mybatis:3.2.8:mapper:3.3.7:persistence-api:1.0:MySQL:5.1.32 一.添加通用mapper相关依赖 <span style="font-family:KaiTi_GB2312;font-size:18px;"><de…
因为语言惯性,大部分的namespace 在语言级别*来说是作为一种限定性标识来用,起到唯一或一类的标识.来看看语言(以PHP语言为例)上的namespace的作用实例 一.namespace 在PHP中的作用(引自:http://www.php.net/manual/zh/language.namespaces.rationale.php) 在PHP中,命名空间用来解决在编写类库或应用程序时创建可重用的代码如类或函数时碰到的两类问题: 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数…
最近项目用到了Mybatis,学一下记下来. Mybatis的Mapper文件中的select.insert.update.delete元素中有一个parameterType属性,用于对应的mapper接口方法接受的参数类型. 可以接受的参数类型有基本类型和复杂类型. mapper接口方法一般接受一个参数,可以通过使用@Param注释将多个参数绑定到一个map做为输入参数. 简单数据类型 mapper接口方法: 1 User selectByPrimaryKey(Integer id); sql…
Mybatis在使用过程中需要三个东西,每张表对应一个XXMapper.java接口文件,每张表对应一个XXMapper.xml文件,每张表对应一个Entity的Java文件.   其中XXMapper.xml把XXMapper.java接口文件.Entity的Java文件 结合起来在配置过程中: MyBatisConfig.java @Bean(name = "sqlSessionFactory") public SqlSessionFactory sqlSessionFactory…
String resource = "mybatis-config.xml"; InputStream inputStream = null; try { // 获取SqlSessionFactory inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream); // 获取SqlSe…