随笔分类 -  Java MyBatis

摘要:据我目前接触到的传多个参数的方案有三种。 第一种方案 DAO层的函数方法 Public User selectUser(String name,String area); 对应的Mapper.xml <select id="selectUser" resultMap="BaseResultMap"> 阅读全文
posted @ 2016-10-06 19:48 Nicat 编辑
摘要:也用了这么久的Hibernate和MyBatis了,一直打算做一个总结,就他们之间的优缺点说说我自己的理解: 也用了这么久的Hibernate和MyBatis了,一直打算做一个总结,就他们之间的优缺点说说我自己的理解: 我认为,最能体现Hibernate的面向对象的方法来操作数据库的一点,就是:在新 阅读全文
posted @ 2016-10-06 19:47 Nicat 编辑
摘要:如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件。 分页插件支持任何复杂的单表、多表分页,部分特殊情况请看重要提示。 想要使用分页插件?请看如何使用分页插件。 物理分页 该插件目前支持以下数据库的物理分页: 配置dialect属性时,可以使用小写形式: Oracle,My 阅读全文
posted @ 2016-10-06 19:46 Nicat 编辑
摘要:1.Mapper层参数为Map,由Service层负责重载。 Mapper由于机制的问题,不能重载,参数一般设置成Map,但这样会使参数变得模糊,如果想要使代码变得清晰,可以通过service层来实现重载的目的,对外提供的Service层是重载的,但这些重载的Service方法其实是调同一个Mapp 阅读全文
posted @ 2016-10-06 19:45 Nicat 编辑
摘要:作者:张海阳 mybaits 自动代码生成maven插件使用说明 日期:2016-04-28 14:32 一:将codehaus.zip解压放入相应的maven创库中,如D:\java\maven\maven_repo\org\二:**************************1.3.3-SN 阅读全文
posted @ 2016-10-06 19:44 Nicat 编辑
摘要:1、 区分 #{} 和 ${}的不同应用场景 1)#{} 会生成预编译SQL,会正确的处理数据的类型,而${}仅仅是文本替换。对于SQL: select * from student where xCode = ‘S123456’;如果使用#{}那么生成的SQL为:select * from stu 阅读全文
posted @ 2016-10-06 19:43 Nicat 编辑
摘要:MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性,而当我们提供的返回类型是resultMap的时候,将数据库中列数据复制到对象的相应属性上,可以用于 阅读全文
posted @ 2016-10-06 19:42 Nicat 编辑
摘要:package cn.tsjinrong.fastfile.util; /** * @ClassName: Page * @Description: TODO(分页组件的父类,用来封装分页的 通用内容和逻辑) * @author zhanghaiyang * @date 2016年1月14日 下午12:37:55 * @Copyright © 2016上海通善互联网金融信息服务有限... 阅读全文
posted @ 2016-10-06 19:39 Nicat 编辑
摘要:MyBatis中对数据库的操作,有时要带一些条件,因此动态SQL语句非常有必要,下面就主要来讲讲几个常用的动态SQL语句的语法 MyBatis中用于实现动态SQL的元素主要有: if choose(when,otherwise) trim where set foreach 1、if 对属性进行判断 阅读全文
posted @ 2016-10-06 19:36 Nicat 编辑
摘要:一、mybatis中的批量操作 批量操作核心就是一次传入多个数据然后进行相关操作,增删改查中掌握其中一个其他的也不成问题 1、最新在做的短信平台,要批量插入群发的短信记录: 当然批量操作还有:批量删除,更新,插入,更新。 批量删除: <delete id= "deleteBatchByXXX" pa 阅读全文
posted @ 2016-10-06 19:35 Nicat 编辑
摘要:一、构建一个环境 1. 首先创建一个表: [sql] view plaincopy CREATE TABLE t_user ( USER_ID INT NOT NULL AUTO_INCREMENT, USER_NAME CHAR(30) NOT NULL, USER_PASSWORD CHAR(1 阅读全文
posted @ 2016-10-06 19:34 Nicat 编辑
摘要:一、搭建开发环境 1.1、使用Maven创建Web项目 执行如下命令: 如下图所示: 创建好的项目如下: 编辑pom.xml文件 修改 <name>spring4-mybatis3 Maven Webapp</name> 部分,把" Maven Webapp"这部分包含空格的内容去掉,否则Maven 阅读全文
posted @ 2016-10-06 19:33 Nicat 编辑
摘要:一、MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 2. 二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如 Ehcac 阅读全文
posted @ 2016-10-06 19:31 Nicat 编辑
摘要:一、提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二、准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 阅读全文
posted @ 2016-10-06 19:30 Nicat 编辑
摘要:一、一对一关联 1.1、提出需求 根据班级id查询班级信息(带老师的信息) 1.2、创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系。 表之间的关系如下: 1.3、定义实体类 1、Teacher类,Teacher类是teacher 阅读全文
posted @ 2016-10-06 19:29 Nicat 编辑
摘要:一、准备演示需要使用的表和数据 二、定义实体类 三、编写测试代码 3.1、编写SQL的xml映射文件 1、创建一个orderMapper.xml文件,orderMapper.xml的内容如下: 2、在conf.xml文件中注册orderMapper.xml映射文件 3.2、编写单元测试代码 执行单元 阅读全文
posted @ 2016-10-06 19:28 Nicat 编辑
摘要:一、连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC 阅读全文
posted @ 2016-10-06 19:26 Nicat 编辑
摘要:一、使用MyBatis对表执行CRUD操作——基于XML的实现 1、定义sql映射xml文件 userMapper.xml文件的内容如下: 单元测试类代码如下: 二、使用MyBatis对表执行CRUD操作——基于注解的实现 1、定义sql映射的接口 UserMapperI接口的代码如下: 需要说明的 阅读全文
posted @ 2016-10-06 19:25 Nicat 编辑
摘要:一、Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java  阅读全文
posted @ 2016-10-06 19:23 Nicat 编辑