mybatis笔记1 基本的配置和操作
mybatis比较轻量,适合开发比较小型的或者业务比较复杂的系统;
相对于hibernate来说可以灵活的写sql,更灵活的处理遇到的业务逻辑;
可以说hibernate是pojo实体对db的orm映射,而mybatis是pojo对sql的映射;
作为入门,先不考虑高级的特性,速度来一个CRUD再从源码和一个具体的业务来研究它的原理和高级特性;
CRUD基本思路:作为一种比较流行的持久层ORM框架,相当于三层架构中的dao层;
最终作为程序员的我们使用的SqlSession对象,先来个思路,再来个实现,最后研究细节;

环境准备,结合springmvc,做一个对博客文章的crud,下面贴出配置文件先;
第一列是依赖文件,都是在仓库中找到的最新的来用,兼容性如何暂且不管,先把简单的例子弄出来是关键;
第二列是web.xml的配置文件,定义一个spring的容器和mvc的url代理servlet;
第三列才是mybatis的使用环境准备,结合上图,上下往上推导定义出SqlSessionFactory,再定义出datasource和mapper配置文件;
第四列是springmvc的配置文件,相当常见,这里不解释;
|
<dependency> <dependency> <dependency> <dependency> <!-- 数据源和jdbc驱动依赖 start--> <dependency> <dependency> <!--log4j日志框架--> <dependency> |
|
<?xml version="1.0" encoding="UTF-8"?> <listener> <!--mvc配置--> </web-app> |
|
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <context:component-scan base-package="com.sz.mybatis.framework.service"> <context:annotation-config /> <tx:annotation-driven /> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" scope="singleton" > <bean id="sqlSession" factory-bean="sqlSessionFactory" factory-method="openSession" scope="prototype"></bean> |
|
<context:component-scan base-package="com.sz.mybatis.admin.controller"> <mvc:annotation-driven/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> |
来一个博客对象的增删改查先;controller先来,这是概要;

然后是url映射:

servic直接略过,主要关注dao的实现,先来个接口先;

实现:
|
package com.sz.mybatis.framework.service.impl; import com.google.common.collect.ImmutableList; import java.util.List; /** @Autowired private BlogMapper getBlogMapper() { @Override Msg msg=new Msg(); @Override @Override @Override @Override |
| 配置文件:
<?xml version="1.0" encoding="UTF-8" ?> <select id="list" parameterType="com.sz.mybatis.framework.domain.PageConfig" resultType="com.sz.mybatis.framework.domain.blog.Blog"> <insert id="insertBlog" parameterType="Blog"> <update id="updateBlog" parameterType="Blog"> <delete id="deleteBlog" parameterType="int"> |
一个接口方法对应一条配置,通过id对应起来,据说可以在类的注解上面写sql,那会更简单,有空我改成注解的,敬请期待…
来几张效果图先:


两个图对比标识完成了分页的操作;


两个图对比表示实现了增加的功能;


两个图对比表示实现了编辑的功能;

最后标识实现了删除的功能;
到这里crud的程序算完成了,mybatis成功的入门了…
对了,附上源码...
mybatis笔记1 基本的配置和操作的更多相关文章
- MyBatis笔记二:配置
MyBatis笔记二:配置 1.全局配置 1.properites 这个配置主要是引入我们的 properites 配置文件的: <properties resource="db.pr ...
- 【MyBatis笔记】mapper文件的配置以及说明
<!doctype html>[MyBatis笔记]mapper文件的配置以及说明 figure:last-child { margin-bottom: 0.5rem; } #write ...
- spring+mybatis的多源数据库配置实战
前言: 关于spring+mybatis的多源数据库配置, 其实是个老生常谈的事情. 网上的方案出奇的一致, 都是借助AbstractRoutingDataSource进行动态数据源的切换. 这边再无 ...
- MyBatis笔记一:GettingStart
MyBatis笔记一:GettingStart 1.MyBatis优点 我们的工具和各种框架的作用就是为了我们操作数据库简洁,对于一些数据库的工具能帮我们少写一些处理异常等等的代码,但是他们并不是自动 ...
- 初识Mybatis框架,实现增删改查等操作(动态拼接和动态修改)
此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我 ...
- MyBatis Generator自动生成的配置及使用
注意:文件名不能有中文字符,不然不能自动生成 找到MyBatis Generator.rar\MyBatis Generator\eclipse里的features和plugins文件,把这两个文件复 ...
- 安卓第十一天笔记-Intent与inter-filter配置
安卓第十一天笔记-Intent与inter-filter配置 Intent与inter-filter配置 1.Intent对象简述 Android应用中有包含三种重要组件:Activity,Servi ...
- 初识Mybatis框架,实现增删改查等操作
此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我 ...
- thinkphp学习笔记4—眼花缭乱的配置
原文:thinkphp学习笔记4-眼花缭乱的配置 1.配置类别 ThinkPHP提供了灵活的全局配置功能,ThinkPHP会依次加载管理配置>项目配置>调试配置>分组配置>扩展 ...
随机推荐
- Android之SQLite数据存储
一.SQLite保存数据介绍 将数据库保存在数据库对于重复或者结构化数据(比如契约信息)而言是理想之选.SQL数据库的主要原则之一是架构:数据库如何组织正式声明.架构体现于用于创建数据库的SQL语句. ...
- git
CMD命令:git initgit add . [添加文件至暂存区]git commit -m '描述性语句 随意写即可'git branch gh-pages [创建仓库分支]git checkou ...
- Microsoft Visual Studio 2017 for Mac Preview 下载+安装+案例Demo
目录: 0. 前言 1. 在线安装器 2. 安装VS 3. HelloWorld 4. ASP.NET MVC 5. 软件下载 6. 结尾 0. 前言: 工作原因,上下班背着我的雷神,一个月瘦了10斤 ...
- mysql数据库主从同步
环境: Mater: CentOS7.1 5.5.52-MariaDB 192.168.108.133 Slave: CentOS7.1 5.5.52-MariaDB 192.168. ...
- FineReport如何部署Tomcat服务器集群
环境准备 Tomcat服务器集群中需要进行环境准备: Apache:Apache是http服务器,利用其对Tomcat进行负载均衡,这里使用的版本是Apache HTTP Server2.0.64: ...
- MongoDB基础
1.概念及特点 说明:由于部分语句中$ 符号无法正常显示,使用¥代表 概念 MongoDB是一个基于文档的分布式的开源的NoSQL数据库,文档的结构为BSON形式,每一个文档都有一个唯一的Object ...
- CORS简介
现在请跟我做:在您的浏览器的地址栏中输入www.yhd.com并敲击回车.在网站内容全部加载完毕后,按F12打开浏览器的调试窗口.当切换到Sources页时,您会发现您当前所看到的一号店的页面是从多个 ...
- [异常解决] How to build a gcc toolchain for nRF51 on linux (very detailed!!!)
1.Install gcc-arm-none-eabi https://devzone.nordicsemi.com/tutorials/7/This link shows that developm ...
- Speedment -- 利用lambda编写SQL
众所周知Java8中加入了lambda语法,这一特性也帮助Java开发者极大的简化了开发.Speedment是一个利用lambda表达式操作数据库的框架,相比Java世界中现在非常流行的mybatis ...
- Spring Bean详细讲解
什么是Bean? Spring Bean是被实例的,组装的及被Spring 容器管理的Java对象. Spring 容器会自动完成@bean对象的实例化. 创建应用对象之间的协作关系的行为称为:装配( ...