目录

MyBatis学习系列一之环境搭建

MyBatis学习系列二——增删改查

MyBatis学习系列三——结合Spring

学习一个新的知识,首先做一个简单的例子使用一下,然后再逐步深入。MyBatis的学习我们也从一个小例子开始。

1、MyBatis的作用:

  简单的说MyBatis实现的是DAO层,通过XML文件配置SQL,映射到PO。

2、需要准备的引用包

  mybatis-3.2.8.jar:myBatis框架使用

  ojdbc6.jar:数据库连接

3、结构分析

  1)需要配置文件连接数据库;

  2)需要公共方法提供数据库连接的使用;

  3)PO:持久对象

  4)数据查询SQL配置XML文件;

  5)对外接口;

4、结构搭建

示例如下:

文件说明:

1)数据库配置文件: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">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="jdbc"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>
<property name="username" value="phonesurvey"/>
<property name="password" value="world"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="nankang/dao/agentMapper.xml" />
</mappers>
</configuration>

两个配置:

一、连接数据库;

二、系统mapper注册;

2)使用连接通用文件:SqlSessionHelper.java

package nankang.util;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class SqlSessionHelper { public static SqlSessionFactory getSessionFactory(){
SqlSessionFactory sessionFactory = null;
String resource= "nankang/configuration.xml";
try{
sessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader(resource));
}catch(Exception ex){
ex.printStackTrace();
}
return sessionFactory;
}
}

使用SqlSessionFactory创建连接。

3)PO对象:

package nankang.po;

public class Agent {

    private String agentId;
private String companyCode;
private String loginName;
private String name; public String getAgentId() {
return agentId;
}
public void setAgentId(String agentId) {
this.agentId = agentId;
}
public String getCompanyCode() {
return companyCode;
}
public void setCompanyCode(String companyCode) {
this.companyCode = companyCode;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
} }

这个没什么好说的,就是一个对象及属性。

如果查询SQL中没有查找对应的字段,则为空。

4)PO的映射XML和对外接口

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="nankang.dao.AgentMapper"> <select id="selectAgentById" parameterType="HashMap" resultType="nankang.po.Agent">
select agentId,companyCode,loginName,name from Agent where AgentId=#{id}
</select> </mapper>
package nankang.dao;

import nankang.po.Agent;

public interface AgentMapper {

    public Agent selectAgentById(String Id);

}

对外使用接口,XML文件相当于实现;

SQL语句,查询的多,也没关系,多余的字段不会映射。

5)使用:

package nankang.test;

import nankang.dao.AgentMapper;
import nankang.po.Agent;
import nankang.util.SqlSessionHelper; import org.apache.ibatis.session.SqlSession; public class test { /**
* @param args
*/
public static void main(String[] args) { try{
SqlSession sqlSession = SqlSessionHelper.getSessionFactory().openSession(); AgentMapper agentMapper = sqlSession.getMapper(AgentMapper.class);
Agent agent = agentMapper.selectAgentById("SHNKAG0000000005"); System.out.println(agent.getName());
}catch(Exception ex){
System.out.println(ex.getMessage());
} } }

首先创建一个SQLSession,然后使用这个Session创建Mapper,这块应该放在BO中;

5、示例下载: http://pan.baidu.com/s/1pJmeYpX (Fish的分享>MyBatis>myBatis1.rar)

MyBatis学习系列一之环境搭建的更多相关文章

  1. Mybatis学习笔记之一(环境搭建和入门案例介绍)

    一.Mybatis概述 1.1 Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了go ...

  2. Redis学习系列一Linux环境搭建

    1.简介 Redis是互联网技术架构中在存储系统中用的最广泛的中间件,是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一.所以Redis是.Net技术开发必须掌握的技能之一.所以通过这个系列的随 ...

  3. mybatis学习(二)——环境搭建

    开发环境搭建主要包括以下几步 1.新建一个JAVA项目(可以只建一个文件夹)  2.导入jar包 log4j是一个日志包,可以不加,这里为了定位问题添加了该包,下面两个包必须需要. 3.创建数据库 C ...

  4. 大数据学习系列之一 ----- Hadoop环境搭建(单机)

    一.环境选择 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内存:1G 硬盘:40G ip:39.108.77.250 2,配置选择 JD ...

  5. 【Vue 学习系列 - 01】- 环境搭建(Win7)

    1. 根据系统下载Node.js 下载地址:http://nodejs.cn/download 2. 安装Node.js 点击安装Node.js,在安装目录D:\Program Files\nodej ...

  6. MyBatis学习系列三——结合Spring

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring MyBatis在项目中应用一般都要结合Spring,这一章主要把MyBat ...

  7. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

  8. 【转】RHadoop实践系列之一:Hadoop环境搭建

    RHadoop实践系列之一:Hadoop环境搭建 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来 ...

  9. 【转载】Maven+druid+MyBatis+Spring+Oracle+Dubbo开发环境搭建

    原地址:http://blog.csdn.net/wp1603710463/article/details/48247817#t16 Maven+druid+MyBatis+spring+Oracle ...

随机推荐

  1. Windows XP下安装和配置Apache2.2.22服务器+PHP5+Mysql5

    原文:http://www.chinaz.com/web/2012/0516/252021.shtml 随着PHP网站的流行,国内越来越多的站长使用php开发网站或者使用相关的php开源网站(例如:D ...

  2. Python进阶07 函数对象

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 秉承着一切皆对象的理念,我们再次回头来看函数(function).函数也是一个对象 ...

  3. oracle查询锁和杀锁

    查询锁: SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username, l.os_user_name,s.machine, ...

  4. android github

    Action Bars ActionBarSherlock Extended ActionBar FadingActionBar GlassActionBar v7 appcompat library ...

  5. jxl的API

    jxl的API 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵Excel文件并不是一件容易的事.在Web应用日益盛行的今天,通过Web来操作Exce ...

  6. Tile-Based Deferred Rendering

    目前所有的移动设备都使用的是 Tile-Based Deferred Rendering(TBDR) 的渲染架构.TBDR 的基本流程是这样的,当提交渲染命令的时候,GPU 不会立刻进行渲染,而是一帧 ...

  7. 【转贴】全站 HTTPS 来了

    http://geek.csdn.net/news/detail/48765 作者:腾讯TEG架构平台部静态加速组高级工程师 刘强 最近大家在使用百度.谷歌或淘宝的时候,是不是注意浏览器左上角已经全部 ...

  8. 分段播放的flash播放器

    效果: 视频分段好处显而易见,就是节省流量,因为看视频很多时候都不会看完,还有很多时候是跳着看的.还有的时候也许用户暂停视频出去买东西了... 本文不讨论flash rtmp直播流,例子用的是普通的h ...

  9. Spring Boot 内嵌Tomcat的端口号的修改

    操作非常的简单,不过如果从来没有操作过,也是需要查找一下资料的,所以,在此我简单的记录一下自己的操作步骤以备后用! 1:我的Eclipse版本,不同的开发工具可能有所差异,不过大同小异 2:如何进入对 ...

  10. childNodes在IE与Firefox中的区别

    嗯,这是前几天写一个遍历双层List集合,动态输出对应的表格并且控制固定表头的效果时发现的一个知识点,程序编好后在IE8浏览器下测试没问题,在Firefox35.0.1总是报错,后来发现是IE与FF对 ...