首页 > 其他 > 详细

mybatis学习之一 开发环境配置

时间:2016-01-05 20:49:37      阅读:159      评论:0      收藏:0      [点我收藏+]

一.前言:下班时间学学mybatis。

什么是mybatis:MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架;只要记住它能让我们用很少的代码去完成增删改查就OK了。

1.使用mybatis第一步就是下载所需要的jar和数据库驱动相关的jar;

2.创建web项目,在src下添加以下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="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/test" />
                <property name="username" value="root" />
                <property name="password" value="shichao" />
            </dataSource>
        </environment>
    </environments>
</configuration>

3.在数据库中创建表

CREATE TABLE `grils` (
  `id` int(11) NOT NULL,
  `name` varchar(100) DEFAULT NULL,
  `nationality` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

4.我的目录结构是

技术分享

创建于数据库表对应的类Grils

技术分享
package domain;

public class Grils {

    private int id;
    private String name;
    private String nationality;
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getNationality() {
        return nationality;
    }
    public void setNationality(String nationality) {
        this.nationality = nationality;
    }
    @Override
    public String toString() {
        return "Grils [id=" + id + ", name=" + name + ", nationality=" + nationality + "]";
    }
    
    
}
Grils

5.创建映射文件grilsMapper.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="mapping.grilsMapper">
    <select id="getGril" parameterType="int" resultType="domain.Grils">
        select * from grils where id=#{id}
    </select>
</mapper>

6.在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="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/test" />
                <property name="username" value="root" />
                <property name="password" value="shichao" />
            </dataSource>
        </environment>
    </environments>
    
    <mappers><!--指定映射文件或者类  -->
        <mapper resource="mapping/grilsMapper.xml"/>
    </mappers>
</configuration>

7.创建测试类GrilsTest.java

package test;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import domain.Grils;

public class GrilsTest {

    public static void main(String[] args) {
        String resource = "conf.xml";
        InputStream in = GrilsTest.class.getClassLoader().getResourceAsStream(resource);
        //创建SqlSessionFactory
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(in);
        //获取SqlSession
        SqlSession session = sessionFactory.openSession();
        //执行查询
        Grils gril = session.selectOne("mapping.grilsMapper.getGril",1);
        System.out.println(gril);
    }
}

8.打印结果为Grils [id=1, name=苍井空, nationality=日本]

需要自己往数据库中添加数据,否则查询结果为null。

就这样,测试通过代表mybatis搭建成功了!

 

二.但是在开发过程中最好的方式是以接口的方式来编程

1.在src下创建mapper包用来装接口

创建接口GrilsMapper

package mapper;

import domain.Grils;

public interface GrilsMapper {
    //这个方法名必须与映射文件的ID相同!!!
    public Grils getGril(int id);
}

注意:①接口中的方法名必须与映射文件grilsMapper.xml中<select id="getGril" parameterType="int" resultType="domain.Grils"> id是一致的!

   ②用接口的方式编程需要修改grilsMapper.xml中的<mapper namespace="mapper.GrilsMapper">,改成对应接口的就ok了!

2.创建测试类GrilsTest2

package test;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import domain.Grils;
import mapper.GrilsMapper;

public class GrilsTest2 {

    public static void main(String[] args) {
        String resource = "conf.xml";
        InputStream in = GrilsTest.class.getClassLoader().getResourceAsStream(resource);
        //创建SqlSessionFactory
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(in);
        SqlSession sqlSession = sessionFactory.openSession();
        GrilsMapper grilsMapper = sqlSession.getMapper(GrilsMapper.class);
        Grils gril = grilsMapper.getGril(1);
        System.out.println(gril);
    }
}

就能得到Grils [id=1, name=苍井空, nationality=日本]

mybatis学习之一 开发环境配置

原文:http://www.cnblogs.com/shichaohome/p/5103578.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!