mybatis
zm的博客
敬自己,敬未来
展开
-
批量修改数据进行分批处理
数据库批量修改数据时,如果一次修改数据量很大时,可能会造成阻塞。可以通过List subList(int fromIndex, int toIndex) 方法进行对list进行截取操作。其中subList(int fromIndex, int toIndex)取值包含fromIndex,不包含toIndex。例如subList(0, 5) 会截取到 下标是0-4的数据,下标未5的数据不会截取。 public void batchUpdate(List<TcEmployee> tcEmploye原创 2022-01-22 11:40:24 · 956 阅读 · 0 评论 -
mybatis(八):Mybatis插件开发原理
Mybatis插件开发MyBatis采用责任链模式,通过动态代理组织多个插件(拦截器) ,允许用户自定义拦截器类,从而实现插件开发功能。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:Executor(update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)Param...原创 2020-01-15 23:47:55 · 232 阅读 · 0 评论 -
mybatis(七): MyBatis 调用存储过程
MyBatis 调用存储过程创建表和存储过程CREATE TABLE `country` ( `id` int(11) NOT NULL AUTO_INCREMENT, `countryname` varchar(255) DEFAULT NULL, `countrycode` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`...原创 2020-01-15 22:11:35 · 503 阅读 · 0 评论 -
mybatis(七): mybatis关系映射
Mybatis关系映射mybatis关系映射分类:一对一一对多多对一多对多映射关系可以通过resulttype和resultmap进行设置。本文只讲述resultMap方式。一对一一般通过外键关联,即A保存B的主键作为A中的一类。例如:Person(人)-Card(身份证) 人和身份证信息是一对一对应的。创建javaBean对象。Person类和Card类。其中Per...原创 2020-01-14 22:34:39 · 243 阅读 · 0 评论 -
mybatis(六): MGB生成代码
添加mybatis-generator-core jar包<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3....原创 2020-01-09 21:04:52 · 686 阅读 · 0 评论 -
mybatis(六): 代码生成器
代码生成器添加mybatis-generator-core jar包<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version&g...原创 2020-01-08 20:53:36 · 598 阅读 · 0 评论 -
mybatis(五): SQL 注解版
Mybatis 注解mybatis 注解在mybatis jar包中的E:org.apache.ibatis.annotations包中,所有注解类如下所示。常用注解@Select用于查询sql。属性为String[]。@Select({"","")@Insert用于插入sql。属性为String[]。@Update用于修改sql。属性为String[...原创 2020-01-06 22:44:37 · 5924 阅读 · 0 评论 -
mybatis(四):SQL语句构建器类
SQL语句构建器类字符串拼接复杂sql语句非常麻烦,mybatis提供一个SQL类进行处理。个人感觉没什么用,不做过多说明。具体可以参考官网文档@Test public void test25() { String s = new SQL() {{ SELECT("P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME...原创 2020-01-05 22:44:59 · 412 阅读 · 0 评论 -
mybatis学习(三):动态SQL
动态 SQLMyBatis 的强大特性之一便是它的动态 SQL 。ifchoose (when, otherwise)trim (where, set)foreachif标签 如果布尔值为true,则拼接中的内容,否则就不拼接中内容<select id="getUserByUser2" resultType="com.zm.entity.User" parameterTy...原创 2020-01-05 22:28:10 · 176 阅读 · 0 评论 -
mybatis学习(二):XML映射文件-sql
sql这个元素可以被用来定义可重用的 SQL 代码段,这些 SQL 代码可以被包含在其他语句中。它可以(在加载的时候)被静态地设置参数。 在不同的包含语句中可以设置不同的值到参数占位符上通过 标签定义代码段。在需要使用代码段的地方通过来引用<sql id="tb_users_column" > id,name,password,age </sql&g...原创 2020-01-05 21:07:25 · 109 阅读 · 0 评论 -
mybatis学习(二):XML映射文件-insert, update 和 delete
insert, update 和 delete标签属性属性描述id命名空间中的唯一标识符,可被用来代表这条语句。parameterType将要传入语句的参数的完全限定类名或别名。这个属性是可选的,因为 MyBatis 可以通过类型处理器推断出具体传入语句的参数,默认值为未设置(unset)。parameterMap这是引用外部 parameterMap...原创 2019-12-26 22:41:45 · 1575 阅读 · 0 评论 -
mybatis学习(二):XML映射文件-select
selectselect 标签属性属性描述id在命名空间中唯一的标识符,可以被用来引用这条语句。parameterType将会传入这条语句的参数类的完全限定名或别名。这个属性是可选的,因为 MyBatis 可以通过类型处理器(TypeHandler) 推断出具体传入语句的参数,默认值为未设置(unset)。parameterMap这是引用外部 para...原创 2019-12-23 22:01:04 · 1188 阅读 · 0 评论 -
mybatis学习(一):XML配置-mappers
映射器(mappers)映射器的作用是告诉mybatis-config.xml文件去哪里加载mybatis mapper文件。标签下可以加载多个文件。区别在于mapper中的属性设置标签设置resource属性。使用相对于类路径的资源引用<mappers> <mapper resource="com/zm/Mapper/CountryMapper.xml"/...原创 2019-12-16 22:07:24 · 662 阅读 · 0 评论 -
mybatis学习(一):XML配置-databaseIdProvider
数据库厂商标识(databaseIdProvider)MyBatis 可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的 databaseId 属性。 MyBatis 会加载不带 databaseId 属性和带有匹配当前数据库 databaseId 属性的所有语句。 如果同时找到带有 databaseId 和不带 databaseId 的相同语句,则后者会被舍弃my...原创 2019-12-16 22:05:33 · 945 阅读 · 0 评论 -
mybatis学习(一):XML配置-environments
环境配置(environments)mybatis支持配置多个环境。mybatis-config.xml中配置多个<environments default="development"> <environment id="development"> <transactionManager type="JDBC"/>...原创 2019-12-16 22:04:41 · 259 阅读 · 0 评论 -
mybatis学习(一):XML配置-objectFactory
对象工厂(objectFactory)MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。 默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。 如果想覆盖对象工厂的默认行为,则可以通过创建自己的对象工厂来实现 。继承org.apache.ibatis.reflection....原创 2019-12-16 21:10:11 · 312 阅读 · 0 评论 -
mybatis学习(一):XML配置-TypeHandler
类型处理器(typeHandlers)无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换成 Java 类型。下表描述了一些默认的类型处理器。提示 从 3.4.5 开始,MyBatis 默认支持 JSR-310(日期和时间 API)。类型处理器Java 类型JDBC 类...原创 2019-12-13 23:07:48 · 1882 阅读 · 0 评论 -
mybatis学习(一):XML配置-typeAliases
类型别名(typeAliases)类型别名是为 Java 类型设置一个短的名字。 它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余 。typeAliases标签支持typeAlias和package子标签使用typeAlias标签,使用type和typeAlias,type直接具体JavaBean对象的全路径,alias值为别名<typeAliases>...原创 2019-12-13 20:03:03 · 760 阅读 · 0 评论 -
mybatis学习
mybatis框架学习 文章用于个人学习mybatis记录。参考资源:mybatis官网博客目录:XML配置1.1 properties属性1.2 settings设置XML映射文件动态SQLJAVA APISQL语句构建器类注解版代码生成器高级查询缓存设置插件开发mybatis源码浅析spring集成myb...原创 2019-12-11 21:55:48 · 200 阅读 · 2 评论 -
mybatis学习(一):XML配置-settings
设置(settings)这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 下表描述了设置中各项的意图、默认值等。设置名描述有效值默认值cacheEnabled全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存。true | falsetruelazyLoadingEnabled延迟加载的全局开关。当开启时,所有关...原创 2019-12-11 21:39:39 · 432 阅读 · 0 评论 -
mybatis学习(一):XML配置-properties
属性(properties)这些属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递。在mybatis配置文件中通过标签可以引入外部properties资源文件,在mybatis配置文件中直接通过${key}引入properties文件的valuemybatis-config.xml<!--加载 confi...原创 2019-12-11 21:37:09 · 573 阅读 · 0 评论