mybatis
晨风&
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
3.使用annotation配置
dao接口+annotation配置 这种方式不适合sql语句较复杂的场景,语句过长也不便于代码维护和查看,如果要用到高级映射和动态sql也不好编写创建maven工程,目录结构如下 maven配置<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan原创 2017-09-16 16:52:32 · 325 阅读 · 0 评论 -
mybatis逆向工程
使用是修改数据源以及要逆向生成的表,关键代码如下,其余文件由逆向工程自动生成maven工程 pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.原创 2017-09-17 23:43:49 · 273 阅读 · 0 评论 -
mybatis和ehcache缓存框架整合
分布缓存:将缓存数据数据进行分布式管理。 通过mybatis和ehcache框架进行整合,就可以把缓存数据的管理托管给ehcache。 在mybatis中提供一个cache接口,只要实现cache接口就可以把缓存数据灵活的管理起来。 mybatis中默认实现: 下载和ehcache整合的jar包 ehcache对cache接口的实现类: 配置ehcache.xml<ehcache x原创 2017-09-17 23:07:41 · 244 阅读 · 0 评论 -
mybatis查询缓存
1.缓存的意义 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。mybatis一级缓存是一个SqlSession级别,sqlsession只能访问自己的一级缓存的数据,二级缓存是跨sqlSession,是mapper级别的缓存,对于mapper级别的缓存不同的sqlsession是原创 2017-09-17 22:52:58 · 239 阅读 · 0 评论 -
mybatis延迟加载
1.使用延迟加载意义 在进行数据查询时,为了提高数据库查询性能,尽量使用单表查询,因为单表查询比多表关联查询速度要快。 如果查询单表就可以满足需求,一开始先查询单表,当需要关联信息时,再关联查询,当需要关联信息再查询这个叫延迟加载。 mybatis中resultMap提供延迟加载功能,通过resultMap配置延迟加载。2.配置mybatis支持延迟加载 设置项:lazyLoadingEn原创 2017-09-17 22:34:45 · 511 阅读 · 0 评论 -
sql片段
<!-- 将用户查询条件定义为sql片段 建议对单表的查询条件单独抽取sql片段,提高公用性 注意:不要将where标签放在sql片段,where标签可能有其他条件 --> <sql id="query_user_where"> <if test="username!=null and username!=''">原创 2017-09-17 22:15:38 · 588 阅读 · 0 评论 -
插入数据时返回主键
selectKey :用于进行主键返回,定义了获取主键值的sql order:设置selectKey中sql执行的顺序,相对于insert语句来说 keyProperty:将主键值设置到哪个属性<select id="insertUser" parameterType="com.cjq.vo.User"><selectKey keyProperty="id" order="AFTER" re原创 2017-09-17 21:19:33 · 782 阅读 · 0 评论 -
7.动态sql
Mybatis的一个强大的特性之一就是它的动态sql能力。当我们查询的条件不固定,可能是一个或多个,传统的jdbc方式我们只能按条件采用拼sql字符串方式来编写,但是确保中间的空格或在列表的最后省略逗号的清除。Mybatis采用功能强大的机遇OGNL的表达式来消除其他元素。用于条件判断<if test="条件"></if>用于条件语句,如果此标记中无内容则不会出现where,如果有内容,则会去掉第一原创 2017-09-16 22:29:00 · 218 阅读 · 0 评论 -
Mybatis主配置文件
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <!-- 属性定义 加载一个properties文件 在 properties标签 中配置属性值 -->原创 2017-09-17 21:54:08 · 394 阅读 · 0 评论 -
2.mybatis核心API以及创建dao的方式
1.核心API SqlSession:是操作mybatis最重要的一个核心接口,执行sql命令,获得Mapper,管理事务; 它的常用方法有:selectList、selectOne insert、delete、update,传一个参数时对应mapper映射中的id,传两个参数时,第二个表示执行sql语句时需要传入的参数SqlSessionFactory:session工厂,用于创建Sessio原创 2017-09-16 16:25:24 · 465 阅读 · 0 评论 -
8.#{}与${}
#{}表示一个占位符,向占位符输入参数,mybatis自动进行java类型和jdbc类型的转换。程序员不需要考虑参数的类型,比如:传入字符串,mybatis最终拼接好的sql就是参数两边加单引号。#{}接收pojo数据,可以使用OGNL解析出pojo的属性值${}表示sql的拼接,通过${}接收参数,将参数的内容不加任何修饰拼接在sql中。${}也可以接收pojo数据,可以使用OGNL解析原创 2017-09-17 17:06:52 · 280 阅读 · 0 评论 -
6.一对多映射
maven项目(使用上一篇博客的工程) configuration .xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">原创 2017-09-16 21:05:34 · 210 阅读 · 0 评论 -
mybatis架构
MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。 Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableState原创 2017-09-17 16:43:04 · 246 阅读 · 0 评论 -
1.Mybatis HelloWorld工程
1.mybatis介绍mybatis是一个基于ORM的持久层框架;ORM:Object Relationship Mapping,对象关系映射。支持自定义SQL映射,支持存储过程及一些高级映射;它支持两种配置方式,分别是Annotation(注解),XML。mybatis与ibatis的关系 ibatis和mybatis是一个框架,3.0以前的版本的名字叫ibatis2.搭建maven工程创建mav原创 2017-09-16 16:12:21 · 424 阅读 · 1 评论 -
5.多对一映射
部门表 员工表 目录结构 maven配置,pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://ma原创 2017-09-16 20:20:14 · 310 阅读 · 1 评论 -
4.使用接口+xml文件方式编写dao层
创建maven工程 引入maven依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.原创 2017-09-16 17:59:21 · 820 阅读 · 0 评论 -
分页插件PageHelper使用
使用方法 第一步:引入pageHelper的jar包。第二步:需要在SqlMapConfig.xml中配置插件。第三步:在查询的sql语句执行之前,添加一行代码: PageHelper.startPage(1, 10); 第一个参数是page,要显示第几页。 第二个参数是rows,每页显示的记录数。第四步:取查询结果的总数量。 创建一个PageInfo类的对象,从对象中取分页信息。工程实例原创 2017-09-18 00:28:58 · 821 阅读 · 0 评论
分享