mybatis 环境配置

一. 创建用户表

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`(
`id` INT(10) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) NOT NULL,
`email` VARCHAR(100) NOT NULL,
`age` INT(10) NOT NULL,
PRIMARY KEY(`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

二. 新建工程

1.添加依赖库

<dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.1</version>
</dependency>
<!-- mysql -->
<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.30</version>
</dependency>

2.设置mybatis 配置文件: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>
    <typeAliases>
        <typeAlias alias="User" type="com.souke.mybatis.model.User"/>
    </typeAliases>

    <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/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value=""/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="mybatisMapper/User.xml"/>
    </mappers>
</configuration>

3. 新建User对象

public class User {    
private String id;    
private String name;    
private String email;   
private int age;
...
}

4. 建立这个User 的映射文件 User.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.souke.mybatis.model.UserMapper">
    <select id="selectUserByID" parameterType="int" resultType="User">
        select * from user where id = #{id}
    </select>
    <insert id="addUser" parameterType="User">
        INSERT INTO user(name, email, age) VALUES ( #{name}, #{email}, #{age})
    </insert>

</mapper>

5. 工程结构

6.新建测试类

package com.souke.mybatis.sample;

import com.souke.mybatis.model.User;
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 java.io.IOException;
import java.io.Reader;

/**
 * Created by Bob on 2016/9/1.
 */
public class Test {
    static String namespace = "com.souke.mybatis.model.UserMapper.";
    private static SqlSessionFactory sqlSessionFactory;

    static {
        try {
            Reader reader = Resources.getResourceAsReader("config/Configuration.xml");


            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static SqlSessionFactory getSession() {
        return sqlSessionFactory;
    }

    public static void main(String[] args) {
        insert();
        query();
    }

    private static void insert() {
        SqlSession session = sqlSessionFactory.openSession();

        User user = new User();
        user.setEmail("email1@qq.com");
        user.setName("name1");
        user.setAge(1);

        int result = session.insert(namespace + "addUser", user);
        session.commit();
        System.out.println(result);
        session.close();
    }

    private static void query() {
        SqlSession session = sqlSessionFactory.openSession();
        User user = session.selectOne(namespace + "selectUserByID", 1);
        System.out.println(user.getName());
        session.close();
    }
}

result

1
name1

运行程序,正确返回结果。环境搭建配置成功。

推荐阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 4,207评论 0 4
  • Spring 技术笔记Day 1 预热知识一、 基本术语Blob类型,二进制对象Object Graph:对象图...
    OchardBird阅读 786评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 131,177评论 18 138
  • 一步一步的搭建JAVA WEB项目,采用Maven构建,基于MYBatis+Spring+Spring MVC+B...
    叶子的翅膀阅读 12,388评论 5 25
  • 如果我是那春天的鸿雁 那么你就是那夏日的青鱼 时空的错乱 空间的颠倒 让我们的相遇猝不及防 却又沉醉其中不愿醒来 ...
    壹茶阅读 163评论 0 0
  • 整整一周都没有动笔的念头,这段时间情绪波动很大,大脑思维处于非常混乱的状态,根本无法正常输出。 本周的题目让我再一...
    贪睡的点点阅读 137评论 0 0
  • 五一放假第一天 快疯掉了 见不到你 之前每时每刻都待在一起的两个人突然见不到了 感觉就像被挖空了一块 今天天气很...
    牧余生阅读 195评论 0 0
  • 麦都都阅读 180评论 0 0