美文网首页
MyBatis的最简单体验

MyBatis的最简单体验

作者: 小昭文 | 来源:发表于2018-02-27 09:14 被阅读5次

    这里使用IDEA集成开发环境,mysql 数据库。

    数据库

    首先在数据库新建一个mybatis的库,然后在这个库中新建一个user的表,里面就2个字段:

    id 
    name
    

    其中id为INT类型,name为VARCHAR类型

    DROP TABLE IF EXISTS `user`;
    
    CREATE TABLE `user` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `name` varchar(64) NOT NULL DEFAULT '',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    INSERT INTO `user` (`id`, `name`)
    VALUES
        (4,'萧峰'),
        (5,'科比');
    

    Java项目

    1、新建一个maven项目,不使用骨架,项目创建完毕后,在pom.xml文件中添加依赖:

     mysql-connector-java
     mybatis
    
      <dependencies>
            <!--数据库连接-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.40</version>
            </dependency>
    
            <!--mybatis-->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.4.1</version>
            </dependency>
        </dependencies>
    

    2、在生成的项目结构中的java文件夹下新建一个User的实体类,与数据库中的user表对应

    package com.xiaozhao.bean;
    public class User {
        private long id;
        private String name;
    
        public long getId() {
            return id;
        }
    
        public void setId(long id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        @Override
        public String toString() {
            return "User{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    '}';
        }
    }
    

    3、有数据并且有了实体,剩下的自然就是数据库连接和关系映射了。

    3.1、 在生成的项目结构中有一个resources文件夹,我们添加一个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="UNPOOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=UTF8"/>
                    <property name="username" value="root"/>
                    <property name="password" value=""/>
                </dataSource>
            </environment>
        </environments>
    </configuration>
    

    3.2 、在resources文件夹下添加数据表关系映射文件: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="User">
        <resultMap type="com.xiaozhao.bean.User" id="UserResult">
            <id column="id" jdbcType="INTEGER" property="id"/>
            <result column="name" jdbcType="VARCHAR" property="name"/>
        </resultMap>
    
        <select id="queryAll" resultMap="UserResult">
            SELECT id,name FROM user
        </select>
    </mapper>
    

    最后把这个关系映射文件UserMapper.xml注册到主配置文件Configuration.xml中。

    修改后的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="UNPOOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=UTF8"/>
                    <property name="username" value="root"/>
                    <property name="password" value=""/>
                </dataSource>
            </environment>
        </environments>
    
       
        <mappers>
            <!--注册关系映射表-->
            <mapper resource="UserMapper.xml"/>
        </mappers>
    </configuration>
    

    4、测试运行
    在java源码文件夹下新建一个Test类,类里面加入一个main函数

    import com.xiaozhao.bean.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;
    import java.util.List;
    
    
    public class Test {
        public static void main(String[] args) {
            try {
                // 读取主配置文件
                Reader reader = Resources.getResourceAsReader("Configuration.xml");
                SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
                SqlSession sqlSession = factory.openSession();
                 // 查询表中的所有数据
                List<User> list = sqlSession.selectList("User.queryAll");
                for (User user : list) {
                    System.out.println(user);
                }
    
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    

    最后的输出结果:

    User{id=4, name='萧峰'}
    User{id=5, name='科比'}
    

    完整的项目代码地址:https://gitee.com/dragon_hawk/mybatisstart

    相关文章

      网友评论

          本文标题:MyBatis的最简单体验

          本文链接:https://www.haomeiwen.com/subject/qghpxftx.html