目录
学习一个新的知识,首先做一个简单的例子使用一下,然后再逐步深入。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学习系列一之环境搭建的更多相关文章
-
Mybatis学习笔记之一(环境搭建和入门案例介绍)
一.Mybatis概述 1.1 Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了go ...
-
Redis学习系列一Linux环境搭建
1.简介 Redis是互联网技术架构中在存储系统中用的最广泛的中间件,是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一.所以Redis是.Net技术开发必须掌握的技能之一.所以通过这个系列的随 ...
-
mybatis学习(二)——环境搭建
开发环境搭建主要包括以下几步 1.新建一个JAVA项目(可以只建一个文件夹) 2.导入jar包 log4j是一个日志包,可以不加,这里为了定位问题添加了该包,下面两个包必须需要. 3.创建数据库 C ...
-
大数据学习系列之一 ----- Hadoop环境搭建(单机)
一.环境选择 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内存:1G 硬盘:40G ip:39.108.77.250 2,配置选择 JD ...
-
【Vue 学习系列 - 01】- 环境搭建(Win7)
1. 根据系统下载Node.js 下载地址:http://nodejs.cn/download 2. 安装Node.js 点击安装Node.js,在安装目录D:\Program Files\nodej ...
-
MyBatis学习系列三——结合Spring
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring MyBatis在项目中应用一般都要结合Spring,这一章主要把MyBat ...
-
MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
-
【转】RHadoop实践系列之一:Hadoop环境搭建
RHadoop实践系列之一:Hadoop环境搭建 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来 ...
-
【转载】Maven+druid+MyBatis+Spring+Oracle+Dubbo开发环境搭建
原地址:http://blog.csdn.net/wp1603710463/article/details/48247817#t16 Maven+druid+MyBatis+spring+Oracle ...
随机推荐
-
asp.net Lodop实现批量打印
1.列表(前台) <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="w_stu ...
-
微信--获取access_token
今天,终于鼓足勇气,来到这片圣地,迎来人生新的开始. 第一次...... 最近做微信公众号,记录一下,仅供参看. 关于access_token微信公众号有相关说明: access_token是公众号的 ...
-
国内的maven镜像
阿里云 <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>ht ...
-
poj1942 Paths on a Grid
处理阶乘有三种办法:(1)传统意义上的直接递归,n的规模最多到20+,太小了,在本题不适用,而且非常慢(2)稍快一点的算法,就是利用log()化乘为加,n的规模虽然扩展到1000+,但是由于要用三重循 ...
-
Part 1 What is AngularJS
What is AngularJS ? AngularJS is a JavaScirpt framework that helps build web application. AngularJS ...
-
层叠样式优先级CSS
按照W3School网站(点这里直达)的说法,当同一个 HTML 元素被不止一个样式定义时,它们是有优先级之分的,如下,将优先级从小到大排列出来,其中4的优先级最高: 1.浏览器缺省设置2.外部样式表 ...
-
Android Studio怎样安装插件
Android Studio安装插件的方式事实上和Eclipse大同小异.废话不多说,直接上图: 区域1:你当前已经安装了的插件 区域2:在线安装 区域3:从硬盘安装,即针对你已经下载好了的插件,可通 ...
-
数据挖掘之聚类算法Apriori总结
项目中有时候需要用到对数据进行关联分析,比如分析一个小商店中顾客购买习惯. package com.data.algorithm; import com.google.common.base.Spli ...
-
com.fasterxml.jackson工具类
老版本的Jackson使用的包名为org.codehaus.jackson,而新版本使用的是com.fasterxml.jackson. Jackson主要包含了3个模块: jackson-core ...
-
传入两坐标点,利用div+css画线
上样式生成函数代码 lineStyle (x1, y1, x2, y2, lineWidth = 4, color = 'black') { let rectX = x1 < x2 ? x1 : ...