mybatis-初步使用
- 最近因为业务各方面的原因,需要使用mybatis,所以系统的学习和总结下。
- 其实mybatis出来已经很久了,貌似大家伙用得也挺顺手的样纸,好歹我先不评价,还是先了解了解mybatis的样纸,后续再添加上关于它的个人看法。
mybatis是做什么的
关于mybatis的定义,官方的正式定义:java的持久层框架,支持存储过程和sql,使用xml或注解的方式定义。
- 个人理解是,将jdbc sql的编写,使用结构化和易管理的方式维护起来,目的当然也还是面向对象的映射转化。
- 结构(盗图):
-
mybatis怎么使用
- 简单使用
- 文件配置
- mapper.xml
- configuration.xml
- sessionFactory.xml
- 代码结构
- 定义dao接口
- 接口与mapper中的配置一致
- 定义返回对象类型
- 定义impl实现类
- 使用类
- SessionFactory的builder
- Session的获取
- 调用dao接口获取对象
- session关闭
- 定义dao接口
- 文件配置
- spring集成
- bean配置
- sessionFactoryBean配置
- dataSource
- configLocation:mybatis的配置文件(mybatis相关的配置项,如:typeAlias等。包含在configuration标签内)
- mappersLocation:mapper的放置位置
- MapperScannerConfigur配置,指定mapper的扫描位置
- sessionFactoryBean配置
- 使用
- 定义接口文件
- 定义mapper配置
- 直接使用dao的方法,即可
- mybatis的pom依赖
- mybatis:org.mybatis:mybatis:jar
- mybatis-spring:org.mybatis:mybatis-spring:jar
- bean配置
- 使用示例:
- <bean id="propertyConfigurer"
- class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="locations">
- <list>
- <value>classpath:jdbc.properties</value>
- </list>
- </property>
- </bean>
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
- <property name="driverClass" value="${jdbc.driverClassName}" />
- <property name="jdbcUrl" value="${jdbc.url}" />
- <property name="user" value="${jdbc.username}" />
- <property name="password" value="${jdbc.password}" />
- <property name="checkoutTimeout" value="30000" />
- <property name="maxPoolSize" value="15" />
- <property name="idleConnectionTestPeriod" value="180" />
- <property name="maxIdleTime" value="180" />
- </bean>
- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
- <property name="dataSource" ref="dataSource" />
- <!--configLocation属性指定mybatis的核心配置文件-->
- <property name="configLocation" value="classpath:mybatisConfiguration.xml" />
- <!-- 所有配置的mapper文件 -->
- <property name="mapperLocations" value="classpath*:com/mapper/*.xml" />
- </bean>
- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
- <property name="basePackage" value="com.pro.dao" />
- </bean>
- <bean id="propertyConfigurer"
- 简单使用
mybatis-初步使用的更多相关文章
- Mybatis初步详细配置
1.Mybatis所需包 下载地址:https://github.com/mybatis/mybatis-3/releases,其中log4j是日志包,mysql是数据库所需包,需自行下载 2.项目结 ...
- mybatis 初步使用(IDEA的Maven项目, 超详细)
目录 创建 Maven 项目 Maven配置 pom.xml 创建数据库 配置Mybatis 配置mybatis的XML文件 创建实体类和对应的Mapper.xml 测试 源码 @ 创建 Maven ...
- mybatis初步理解
mybatis概念 mybatis 是一款轻量级的orm的数据持久框架,封装jdbc 对开发提供了便利,但是性能会比jdbc低,从开发的角度来说,现在是比较流行的 掌握上比较容易,也支持缓存,级联 ...
- Mybatis初步认识
分三层 第一章 1.三层架构 界面层:和用户打交道,接收用户的请求参数明显是处理结果的(jsp,html,servlet) 业务逻辑层:接收了界面层传递的数据,计算逻辑,调用数据库,获取数据 数据访问 ...
- Spring 14: Spring + MyBatis初步整合开发
SM整合步骤 预期项目结构 新建数据库和数据表 springuser.sql脚本如下 create database ssm; use ssm; create table users( userid ...
- mybatis初步配置容易出现的问题
The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You ...
- mybatis 缓存的使用, 看这篇就够了
目录 1 一级缓存 1.1 同一个 SqlSession 1.2 不同的 SqlSession 1.3 刷新缓存 1.4 总结 2 二级缓存 2.1 配置二级缓存 2.2 使用二级缓存 2.3 配置详 ...
- mybatis源码-解析配置文件(三)之配置文件Configuration解析
目录 1. 简介 1.1 系列内容 1.2 适合对象 1.3 本文内容 2. 配置文件 2.1 mysql.properties 2.2 mybatis-config.xml 3. Configura ...
- mybatis源码-解析配置文件(二)之解析的流程
目录 1. 简介 2. 配置文件解析流程分析 2.1 调用 2.2 解析的目的 2.3 XML 解析流程 2.3.1 build(parser) 2.3.2 new XMLConfigBuilder( ...
- mybatis源码-解析配置文件(一)之XML的DOM解析方式
目录 简介 Java 中 XML 文件解析 解析方式 DOM 解析 XML 新建 XML 文件 DOM 操作相关类 Java 读取 XML 文件 一起学 mybatis @ 简介 在之前的文章< ...
随机推荐
- leetcode445
/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNo ...
- Shiro的Subject和Sessoin的创建
之前要先了解Session的来源Shiro session和Spring session一样吗? 创建Subject的位置 AbstractShiroFilter . doFilterInternal ...
- 一个简单的环境光shader
关于shader的一个简短的历史 在DirectX8之前,GPU有一个固定的方法去变换顶点和像素,称为“固定管线”.这使得在将它们传递给GPU后,开发者不可能操作顶点和像素的变换. DirectX8介 ...
- kibana-4.6.3-linux-x86_64.tar.gz的安装(图文详解)(升级)
前期博客 kibana-4.6.3-linux-x86_64.tar.gz的下载(图文详解) 因为,我的机器情况是如下: 1.上传 [hadoop@master app]$ rz [hadoop@m ...
- 使用Windows绘图合成多张图
[使用Windows绘图合成多张图] 1.点击图片右键选择打开方式→选择画图工具打开图片. 2.这时图片可以改变外框大小,将外框尽量弄大些. 3.点击编辑选中下拉菜单中的粘贴来源,选择需要增加进来的图 ...
- Nginx源码完全注释(3)ngx_list.h / ngx_list.c
列表头文件ngx_list.h #ifndef _NGX_LIST_H_INCLUDED_ #define _NGX_LIST_H_INCLUDED_ #include <ngx_config. ...
- NodeJS - npm WARN package.json : No repository field:can not open package.json
最近在研究node.js,在安装npm的时候发现了几个报错,瞬间蒙圈,查找文献基本解决(文献好少呀~ -.-) 一.报错:“can not open path/path/package.jso ...
- solr 搭建 (基于solr-5.0.0)
1)去官网下载solr 2)去官网下载Tomcat 3)在D盘建一个文件夹(我在此建立了一个文件夹(命名为:sorl_lf)) 4)解压Tomcat(如果已经安装了Tomcat,请配置支持多个Tomc ...
- OpenCV之设计模式
参考资料: http://hahack.com/codes/opencv-and-mvc/ http://blog.csdn.net/yzhang6_10/article/details/508084 ...
- sqlserver分区表索引
对于提高查询性能非常有效,因此,一般应该考虑应该考虑为分区表建立索引,为分区表建立索引与为普通表建立索引的语法一直,但是,其行为与普通索引有所差异. 默认情况下,分区表中创建的索引使用与分区表相同分区 ...