您的位置:首页 > 大数据 > 人工智能

Mybaits简介

2015-06-18 09:28 357 查看
 Mybaits是什么呢?它的前身是ibaits,    支持普通的sql语句进行查询,存储过程和高级映射的优秀的持久层框架。其项目的定位与Hibernate一样,通过简单的XML配置和注解完成数据库记录与对象之间的映射。通过对映射过程的封装,使得代码风格更加的符合面向对象程序设计的思想。相比于Hibernate,Mybaits更加的灵活和轻量化。

ORM框架的思想:

无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:

1. 从配置文件(通常是XML配置文件中)得到 sessionfactory.

2. 由sessionfactory  产生 session

3. 在session 中完成对数据的增删改查和事务提交等.

4. 在用完之后关闭session 。

5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。

MyBait的使用初步(开发环境:JDK1.7,eclipse Helios,mysql5.5,maven3):

1、安装mysql

2、新建maven工程

3、修改pom文件,添加Mybaits依赖和connector依赖

      <dependency>

            <groupId>org.mybatis</groupId>

            <artifactId>mybatis</artifactId>

            <version>3.2.8</version>

        </dependency>

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <version>5.1.31</version>

        </dependency>

4、在src/main/resources目录下新建Configuration.xml用于配置Mybaits的相关信息

<?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="com.yihaomen.mybaits.datasource.C3P0DataSourceFactory">

                <property name="driverClass" value="com.mysql.jdbc.Driver" />

                <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/caojiantong" />

                <property name="user" value="root" />

                <property name="password" value="root" />

            </dataSource>

        </environment>

    </environments>

   

    <mappers>

        <mapper resource="com/yihaomen/mybatis/model/User.xml" />

    </mappers>

</configuration>

5、新建包com.yihaomen.mybaits.model,新建model User.java

package com.yihaomen.mybatis.model;

public class User {

   

    private int id;

    private String userName;

    private int userAge;

    private String userAddress;

   

    public int getId() {

        return id;

    }

    public void setId(int id) {

        this.id = id;

    }

    public String getUserName() {

        return userName;

    }

    public void setUserName(String userName) {

        this.userName = userName;

    }

    public int getUserAge() {

        return userAge;

    }

    public void setUserAge(int userAge) {

        this.userAge = userAge;

    }

    public String getUserAddress() {

        return userAddress;

    }

    public void setUserAddress(String userAddress) {

        this.userAddress = userAddress;

    }

}

6、在User.java包下新建User.xml用于配置User对象和数据库之间的映射关系

<?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.yihaomen.mybatis.models.UserMapper">

    <select id="selectUserByID" parameterType="int" resultType="com.yihaomen.mybatis.model.User">

        select * from user where id = #{id}

    </select>

</mapper>

7、编写测试类Test.jave

public class Test {

    private static SqlSessionFactory sqlSessionFactory;

    private static Reader reader;

    static{

        try{

            //1读取配置文件

            reader    = Resources.getResourceAsReader("Configuration.xml");

            //2创建sessionFactory

            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

        }catch(Exception e){

            e.printStackTrace();

        }

    }

    public static SqlSessionFactory getSession(){

        return sqlSessionFactory;

    }

   

    public static void main(String[] args) {

        //3取得sqlSession

        SqlSession session = sqlSessionFactory.openSession();

        try {

        //4、执行说sqlMapper,取得User对象

            //方法1

            User user = (User) session.selectOne("com.yihaomen.mybatis.models.UserMapper.selectUserByID", 1);

        System.out.println(user.getUserAddress());

        System.out.println(user.getUserName());

        } finally {

        session.close();

        }

    }

}

上述7个步骤是Mybaits的一个简单实例

接下来内容,我们会根据上述步骤中涉及到的内容进行深入的了解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: