快速入门Mybatis

JAVA学习网 2020-08-25 08:27:03

Mybatis快速入门

前提说明:本案例于是使用idea2019工具,jdk1.8,maven项目管理,mysql5.5,Sqlyog。

1.准备数据库

CREATE DATABASE IF NOT EXISTS test;

USE test;

CREATE TABLE `user`(
    id INT PRIMARY KEY AUTO_INCREMENT,
    age INT,
    `name` VARCHAR(23) NOT NULL,
    hobby VARCHAR(23) NOT NULL

);

INSERT INTO USER VALUES(NULL,12,'张三','跑步'),(NULL,22,'李四','跳舞'),(NULL,18,'赵六','');

 

2.创建项目(JavaSe)

3.导入mybatis依赖和mysql数据库依赖

  pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.qiong</groupId>
    <artifactId>mybatisdemo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!--MyBatis核心包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
    <!--数据库驱动包-->
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
    </dependency>
</dependencies> 
</project>

4.创建项目结构

5.在resources下创建并配置mybatisConfig.xml核心配置文件

源代码mybatisConfig.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>
    <!--设置java类型别名-->
    <typeAliases>
        <!--将整个包下所有的类名设置了别名,别名(小名):类名-->
        <package name="cn.wzy.entity"></package>
    </typeAliases>
    <!--数据库环境配置-->
    <environments default="mysql">
        <!--使用MySQL环境-->
        <environment id="mysql">
            <!--事务管理器:JDBC类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--连接池:内置POOLED-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"></property>
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"></property>
                <property name="username" value="root"></property>
                <property name="password" value="root"></property>
            </dataSource>
        </environment>
    </environments>
    <!--加载映射文件-->
    <mappers>
        <!--  Dao接口所在包-->
        <package name="com.wzy.dao"></package>
    </mappers>
</configuration>

 

6.创建实体类User和dao层接口UserDao

      User.java

      tip:User类中的字段必须要和数据库的字段一致,否则就丢失字段,或者报错!

package com.wzy.entity;

public class User {
    private Integer id;
    private String name;
    private String hobby;

    public User() {
    }

    public User(Integer id, String name, String hobby) {
        this.id = id;
        this.name = name;
        this.hobby = hobby;
    }

    /**
     * 获取
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return hobby
     */
    public String getHobby() {
        return hobby;
    }

    /**
     * 设置
     * @param hobby
     */
    public void setHobby(String hobby) {
        this.hobby = hobby;
    }

    public String toString() {
        return "User{id = " + id + ", name = " + name + ", hobby = " + hobby + "}";
    }
}

      UserDao接口

package com.wzy.dao;

import com.wzy.entity.User;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface UserDao {

    @Select("select * from user")
    List<User> findAll();
}

7.编写测试类

 

package com.wzy;

import com.wzy.dao.UserDao;
import com.wzy.entity.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.util.List;

public class test {
    public static void main(String[] args) {
        //1. 创建SqlSession工厂构造器
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();

        //2. 利用SqlSession工厂构造器读取SqlMapCOnfig.xml配置文件,得到SqlSessionFactory
        SqlSessionFactory sessionFactory = sqlSessionFactoryBuilder.build(
                test.class.getResourceAsStream("/mybatisConfig.xml"));

        //3. 利用SqlSessionFactory得到SqlSession
        SqlSession sqlSession = sessionFactory.openSession();
        //4. SqlSession得到接口的代理对象
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        //5. 调用接口代理对象的方法
        List<User> all = mapper.findAll();
        System.out.println(all);
     //关闭SqlSession sqlSession.close(); } }

 

8.测试结果

9.总结:Mybatis的简单应用,实现从数据库中读取数据

10.和你说:你离成功只差那么一点点,就那么一点点!!!

 

阅读(2599) 评论(0)