mybatis

介绍

MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录

添加jar 包

【mybatis】
    mybatis-3.1.1.jar
【MYSQL驱动包】
    mysql-connector-java-5.1.7-bin.jar

添加Mybatis的配置文件conf.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" />
            <dataSource type="POOLED">
                <property name="driver" value="oracle.jdbc.driver.OracleDriver" />
                <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
                <property name="username" value="test" />
                <property name="password" value="ztt123456" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/dream/bean/userMapper.xml"/>
    </mappers>
</configuration>

定义表所对应的实体类

public class User {
private int id;
private String name;
private int age;
//get,set方法
}

定义操作users表的sql映射文件userMapper.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="com.dream.bean.userMapper">
 <insert id="insertUser" parameterType="com.dream.bean.User">
    insert into user11(id,name,age) values(#{id},#{name},#{age})
</insert>

<select id="getUser" parameterType="int"
    resultType="com.dream.bean.User">
    select * from user11 where id=#{id}
</select>

</mapper>

编写测试代码:执行定义的select语句

package com.dream.test;

import java.io.IOException;
import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import com.dream.bean.User;

public class myTest {

@Test
public void mTest() throws IOException {
        String resource = "conf.xml";
        // 加载mybatis的配置文件(它也加载关联的映射文件)
        Reader reader = Resources.getResourceAsReader(resource);
        // 构建sqlSession的工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
        // 创建能执行映射文件中sql的sqlSession
        SqlSession session = sessionFactory.openSession();
        System.out.println(session.getConnection());
        // 映射sql的标识字符串
        String statement = "com.dream.bean.userMapper.insertUser";
        // 执行查询返回一个唯一user对象的sql
        int user = session.insert(statement, new User(1,"zhansan",3));
        // 提交
        
    //		String statement = "com.dream.bean.userMapper.getUser";
    //		User selectOne = session.selectOne(statement, 4);
    //		System.out.println(selectOne.toString());
            
        session.commit();

        session.close();

        //System.out.println(user);
    }

}

至此例子写好了