MyBatis学习系列一之环境搭建

    学习一个新的知识,首先做一个简单的例子使用一下,然后再逐步深入。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

  连接中找myBatis,myBatis1即可。

 

赞 (0) 评论 分享 ()

相关阅读

    无相关信息