mybatis简单搭建
背景
闲来没事把mybatis再熟悉一下,可能之前自己搭过没有记录。mybatis其实就是一个orm框架,在我们之前做.net工作的时候,我们的ef,dapper等都是这样的框架,java现在web流行的就是ssm框架,Spring+SpringMVC+Mybatis。今天我要搭的只是mybatis的一个小demo。
正文
选择mybatis的版本,我下载了一个 3.4.4的版本。然后打开官网 www.mybatis.org/mybatis-3。
官网说的很清楚,如果你是用的Maven那么直接把
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>
</dependency>
复制到你的pom.xml中,我是直接加载的jar包,mybatis的jar包和lib中的jar包。ok,看着官网走吧。
1、配置你的环境数据源配置文件,也就是一个环境加载数据的地方。直接拿来官网的,environment中的配置信息就是当初我们的jdbc的配置信息。mappers节点,一看是加了s的那么说明会有多个mapper没错就是这样的。我们这里只是做一个demo,用一个表。

2、接下来就是要配置sql了的配置文件了,也就是我们的mapper。这次我直接截图我的demo中的配置。首相是namespace,这个就是一个命名空间,必须要唯一的。其中里面的节点select作为查询,insert当然就是插入了,大家一看就明白了。至于里面的节点怎么写的,可以直接看官网,说的很明白。

3、两个文件都有了,那么怎么合并,其实就在在第一个配置文件的mappers中添加一个mapper然后将sql的配置地址复制给它就ok了。其实里面还有很多的属性,http://www.mybatis.org/mybatis-3/configuration.html#mappers 官网这里会详细介绍。这里我们用的是resource属性。
4、接下来就是开始代码的工作了。我将单元测试jar导入进来,创建一个class用来写测试方法。这里我只写了一个查询一个插入。
->String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
官网的代码,这是我们的第一步。也就是获取我们需要的会话工厂,接下来就是创建会话。
-> openSession = ssf.openSession(); List<Student> list = openSession.selectList("studentsManager.selectStudents", "李四");
list.forEach(System.out::println);
open会话开始,selectList是查询集合的方法,第一个参数是我们mapper具体的执行块,第二参数是我传递的查询参数。这样直接就可以查出来了。
这个查询,那么看一下插入。插入也是这个过程只不过在插入之后要有点变动。也就是插入是一个事务维护的,如果插入失败是需要回滚的,只有插入成功才会去提交。
int update = openSession.insert("studentsManager.insertStudent", new Student("lili", "数学", 77.3f));
if(update>0)
{
openSession.commit();
}
else
{
openSession.rollback();
}
总结
这阵子再面试中,我觉得面试是一个技巧,可能自己缺乏面试技巧。短短的几十分钟内,或者一两小时内,如果让面试官认识到自己的价值。是需要一定的能力的,我会努力。目前正在寻找java开发,大数据开发,如有需要请与我联系。
没有停滞不前,只有退步与进步。
mybatis简单搭建的更多相关文章
- 零配置简单搭建SpringMVC 项目
SpringMVC是比较常用的JavaWeb框架,非常轻便强悍,能简化Web开发,大大提高开发效率,在各种Web程序中广泛应用.本文采用Java Config的方式搭建SpringMVC项目,并对Sp ...
- MYBATIS 简单整理与回顾
这两天简单整理了一下MyBatis 相关api和jar包这里提供一个下载地址,免得找了 链接:http://pan.baidu.com/s/1jIl1KaE 密码:d2yl A.简单搭建跑项目 2.进 ...
- mybatis的搭建和注入spring的方式
mybatis实际上是一个更多关注sql语句的框架,他的出现是想让开发者更简单的去操作数据库. 与hibernate相比较,hibernate更多的是去sql化,虽然hibernate也可以本地sql ...
- Spring+Mybatis+Mysql搭建分布式数据库访问框架
一.前言 用Java开发企业应用软件, 经常会采用Spring+MyBatis+Mysql搭建数据库框架.如果数据量很大,一个MYSQL库存储数据访问效率很低,往往会采用分库存储管理的方式.本文讲述如 ...
- MyBatis -01- 初识 MyBatis + MyBatis 环境搭建
MyBatis -01- 初识 MyBatis + MyBatis 环境搭建 MyBatis 本是 apache 的一个开源项目 iBatis(iBATIS = "internet" ...
- mybatis 环境搭建和基本说明
mybatis介绍就不多提了,直接步入正题. 先准备好eclipse和MySQL,然后先看一下目录结构 文件和类很少,所以mybatis的搭建是非常简单的,如搭建中遇到问题可以先参考文档最后一部分的综 ...
- 浅析MyBatis(二):手写一个自己的MyBatis简单框架
在上一篇文章中,我们由一个快速案例剖析了 MyBatis 的整体架构与整体运行流程,在本篇文章中笔者会根据 MyBatis 的运行流程手写一个自定义 MyBatis 简单框架,在实践中加深对 MyBa ...
- Mybatis环境搭建及测试
1.新建java project,导入相应jar包 本次使用到的mybatis-3.2.7版本 mybatis需要jar包:mybatis-3.2.7.jar.lib文件下的依赖jar mysql驱动 ...
- python简单搭建HTTP Web服务器
对于Python 2,简单搭建Web服务器,只需在i需要搭建Web服务器的目录(如C:/ 或 /home/klchang/)下,输入如下命令: python -m SimpleHTTPServer 8 ...
随机推荐
- DevOps之虚拟专用网络VPN
唠叨话 关于德语噢屁事的知识点,仅提供专业性的精华汇总,具体知识点细节,参考教程网址,如需帮助,请留言. <虚拟专用网络VPN(Virtual Private Network)> 关于虚拟 ...
- Scala基础之注解(annotation
在学习Scala的过程中,总会碰到一些注解: // Predef.scala @inline def implicitly[T](implicit e: T) = e @deprecated(&quo ...
- 【学习】js学习笔记---数组对象
一.属性 length 数组的大小.数组的length属性总是比数组中定义的最后一个元素的下标大一,设置属性length的值可以改变数组的大小.如果设置的值比它的当前值小,数组将被截断,其尾部的元素将 ...
- 关于限制DHCP服务器广播的另类方法
0. 引言 如图,家里有两台计算机,分别处于不同房间.其中一台PC1能够与光猫直连:另外一台PC2较远,考虑到光猫有WLAN功能,便使用了一个路由器无线桥接到光猫,然后有线连接到PC2(均与光猫处于同 ...
- JFinal快速上手及注意事项
官方手册虽然写的很详细但是忽略的很多小的细节方面,不看源码,网络资料又少,很多新手找不到解决办法.所以养成出了问题,多看源码的习惯 部署helloJFinal 项目结构 - 相关代码 `package ...
- [译]ASP.NET Core 2.0 全局配置项
问题 如何在 ASP.NET Core 2.0 应用程序中读取全局配置项? 答案 首先新建一个空项目,并添加两个配置文件: 1. appsettings.json { "Section1&q ...
- linux脚本定时备份数据库表(详解)
数据库备份策略 备份的数据库 服务器:10.10.10.254.10.2.11.10 数据库:gps6 备份的表: user_info alarminfo electronic_fence jpush ...
- 【ASP.NET MVC 学习笔记】- 12 Filter
本文参考:http://www.cnblogs.com/willick/p/3331520.html 1.Filter(过滤器)是基于AOP(Aspect-Oriented Programming 面 ...
- [CF] Final Exam Arrangement
问题链接:http://www.bnuoj.com/v3/contest_show.php?cid=4329#problem/F 问题大意: 就是有1--N们课程,每一个课程都有一 ...
- LeetCode 238. Product of Array Except Self (去除自己的数组之积)
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equ ...