美文网首页Java
MyBatis入门

MyBatis入门

作者: 满庭花醉三千客 | 来源:发表于2019-04-03 17:54 被阅读0次

MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

具体该如何使用呢?开始:

首先新建一个Maven项目:

屏幕快照 2019-01-08 上午11.05.35.png

点击Next然后进入:

屏幕快照 2019-01-08 上午11.07.00.png

点击next:

屏幕快照 2019-01-08 上午11.07.10.png

点击Finish:

屏幕快照 2019-01-08 上午11.08.14.png

接下来我们在项目-src-main-resource目录下,新建一个文件夹:

屏幕快照 2019-01-08 上午11.18.39.png

取名为mapper:

屏幕快照 2019-01-08 上午11.18.53.png

前期准备工作已完成。接下来,我们导入两个依赖库:mybatis和mysql-connector-java。前往:https://mvnrepository.com搜索并复制到pom.xml文件中:

完成后pom.xml是这样的:

屏幕快照 2019-01-09 下午2.53.36.png

接下来我们新建一个java类的User.java,并编码:

package com.bianla.wql;

public class User {

    //这里的属性名要与数据库字段相同,否则获取不到值

    private int id;

    private String name;

    private String phone;

    public int getId() {

        return id;

    }

    public void setId(int id) {

        this.id = id;

    }

    public void setName(String name) {

        this.name = name;

    }

    public String getName() {

        return name;

    }

    public void setPhone(String phone) {

        this.phone = phone;

    }

    public String getPhone() {

        return phone;

    }

}

此时界面如下:

屏幕快照 2019-01-09 下午3.01.27.png

然后打开Database,输入以下代码,创建一张User表:

CREATE TABLE `User` (

                      `id` int(11) NOT NULL AUTO_INCREMENT,

                      `name` varchar(255) DEFAULT NULL,

                      `phone` varchar(255) DEFAULT NULL,

                      PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

INSERT INTO `User` VALUES (1, '赵子龙', '13788889999');

INSERT INTO `User` VALUES (2, '张三', '13801234567');
屏幕快照 2019-01-08 下午2.17.40.png

然后运行一下:

屏幕快照 2019-01-08 下午2.18.23.png

成功创建了User表。
接下来在resources文件夹下,创建mysql.properties文件:

屏幕快照 2019-01-08 下午1.45.30.png

接着进入:

屏幕快照 2019-01-08 下午1.46.05.png

命名一下即可。

接着在mysql.properties文件中写入:

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/wl_test_database?useSSL=false

jdbc.username=root

jdbc.password=Aa123456

效果:

屏幕快照 2019-01-09 下午3.11.04.png

然后我们前往src-main-resources-mapper中创建一个UserMapper.xml文件,并编码:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper

        PUBLIC "-//[mybatis.org//DTD](http://mybatis.org//DTD)mapper 3.0//EN"

        "[http://mybatis.org/dtd/mybatis-3-mapper.dtd](http://mybatis.org/dtd/mybatis-3-mapper.dtd)">

<mapper namespace="com.bianla.wql.User">

    <!--在映射文件中配置很多sql语句-->

    <!--将sql语句封装到mappedStatement对象中,所以将id称为statement的id-->

    <!--parameterType:指定输入参数的类型-->

    <!--resultType:指定sql的输出结果所映射的java对象类型。select指定resultType表示将单条记录映射成对应的java对象-->

    <!--#{}表示一个占位符号,#{id},其中的id表示接收输入的参数。如果输入参数是简单类型,#{}中的参数名可以任意,可以是value或其他名称-->

    <!--表名要正确,不区分大小写。resultType要写类名,同样不区分大小写-->

    <select id="findById" parameterType="int" resultType="com.bianla.wql.User">

        SELECT * FROM User WHERE id=#{id}

    </select>

</mapper>

效果:

屏幕快照 2019-01-09 下午3.14.46.png

我们接下来在resources文件夹下创建MyBatis-config文件:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPEconfiguration

        PUBLIC"-//[mybatis.org//DTD](http://mybatis.org//DTD)Config 3.0//EN"

        "[http://mybatis.org/dtd/mybatis-3-config.dtd](http://mybatis.org/dtd/mybatis-3-config.dtd)">

<configuration>

    <!--加载属性文件-->

    <properties resource="mysql.properties"/>

    <typeAliases>

        <!--定义别名,针对单个别名进行定义。type:类的路径  alias:别名-->

        <!--类名不能写错;别名可以随意起,但力求规范-->

        <typeAlias type="com.bianla.wql.User" alias="User"/>

    </typeAliases>

    <!--环境配置-->

    <environments default="development">

        <environment id="development">

            <!--使用JDBC事务管理,事务控制由mybatis-->

            <transactionManager type="JDBC"></transactionManager>

            <!--数据库连接池,由mybatis管理-->

            <dataSource type="POOLED">

                <property name="driver" value="${jdbc.driver}"/>

                <property name="url" value="${jdbc.url}"/>

                <property name="username" value="${jdbc.username}"/>

                <property name="password" value="${jdbc.password}"/>

            </dataSource>

        </environment>

    </environments>

    <!--加载映射文件-->

    <mappers>

        <!--通过resource方法一次加载一个映射文件-->

        <!--注意这里的路径和xml文件名-->

        <mapper resource="mapper/UserMapper.xml"/>

    </mappers>

</configuration>

效果是这样的:

屏幕快照 2019-01-09 下午3.07.07.png

然后我们创建一个UserTest文件来测试一下,编码:

package com.bianla.wql;

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.InputStream;

public class UserTest {

    public static void main(String [] args){

        // mybatis配置文件,这个地方的root地址为resources,因此我们的配置文件要放置在resources目录下

        String resource = "mybatis-conf.xml";

        // 配置文件流

        InputStream stream = null;

        try {

            // 得到配置文件流

            stream = Resources.getResourceAsStream(resource);

            // 创建会话工厂,传入mybatis的配置文件信息

            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(stream);

            //通过工厂,得到sqlSession

            SqlSession session = factory.openSession();

            User user = session.selectOne("findById",2);

[session.commit();](http://session.commit();/)

            System.out.println("ID:"+user.getId()+**”****\n名字:"**+user.getName()+**”****\n手机号:"**+user.getPhone());

        }catch (IOException e){

            e.printStackTrace();

        }

    }

}
屏幕快照 2019-01-09 下午3.35.28.png

此时我们运行一下:

屏幕快照 2019-01-09 下午3.35.51.png

加油~

相关文章

  • MyBatis

    MyBatis学习总结(一)——MyBatis快速入门 超详细MyBatis入门讲解

  • 深入浅出Mybatis-Mybatis-Generator

    目录 入门 Mybatis Generator 是什么 Mybatis Generator是Mybatis的代码生...

  • Mybatis的入门

    一.Mybatis介绍 二.Mybatis的架构 三.Mybatis入门程序开发 下载mybatis 导包核心+依...

  • Mybatis快速入门

    Mybatis 学习内容 Mybatis框架的简单入门 Mybatis框架基本的使用 Mybatis框架的深入和多...

  • MyBatis之快速入门

    title: MyBatis之快速入门tags: MyBatiscategories: MyBatis 若图片无法...

  • 1.Mybatis - 搭建

    参考 Mybatis 官方 MyBatis学习总结(一)——MyBatis快速入门 安装 说明基于Maven 步骤...

  • Intellij 第三章 测试Spring整合MyBatis

    0、如需查看Spring整合MyBatis知识请访问 MyBatis入门【十二】 Spring整合MyBatis基...

  • Mybatis源码解读

    Mybatis入门 Mybatis构成 SqlSessionFactoryBuilder(构造器):根据配置信息或...

  • Mybatis入门

    目的:入门,熟悉mybatis是什么,怎么用。 1. 初识Mybatis 1.1 Mybatis介绍 MyBati...

  • MyBatis入门 Day10 2018-11-28

    MyBatis mybatis-3.4.6 jdk1.8+ 一、mybatis入门 1.依赖jar包 pom.xm...

网友评论

    本文标题:MyBatis入门

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