建一个Mybatis的项目

一个简单Mybatis的demo

什么是 MyBatis?

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

一、MySQL数据库中建表

--创建一个数据库
craete database mybatis_study

--使用当前数据库
use mybatis_study

--建立数据表
create table user (
    id int(11) primary key,
    name varchar(11),
    pwd varchar(11)
)

--插入数据
insert into user (id, name, pwd) value (1, 'zhangsan', '123')
insert into user (id, name, pwd) value (2, 'lisi', '456')
insert into user (id, name, pwd) value (3, 'wangwu', '789')

二、IDEA建一个Maven项目

项目结构:
建一个Mybatis的项目_第1张图片

  1. pom.xml引入依赖
<dependencies>
        
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
            <version>3.5.6version>
        dependency>
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>5.1.47version>
        dependency>
        
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.13version>
        dependency>
    dependencies>
  1. 在com.fzshuai.pojo下创建User实体类
package com.fzshuai.pojo;

/**
 * @author 软件二班傅同学
 * @description TODO
 * @date 2021-03-17 22:33
 */
public class User {
     

    private int id;
    private String name;
    private String pwd;

    public User() {
     
    }

    public User(int id, String name, String pwd) {
     
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }

    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 getPwd() {
     
        return pwd;
    }

    public void setPwd(String pwd) {
     
        this.pwd = pwd;
    }

    @Override
    public String toString() {
     
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", pwd='" + pwd + '\'' +
                '}';
    }
}

  1. 在com.fzshuai.mapper下创建UserMapper接口
package com.fzshuai.mapper;

import com.fzshuai.pojo.User;

import java.util.List;

/**
 * @author 软件二班傅同学
 * @description TODO
 * @date 2021-03-17 22:42
 */
public interface UserMapper {
     

    List<User> selectUser();
}

  1. 在resources/mapper下创建userMapper.xml文件


<mapper namespace="com.fzshuai.mapper.UserMapper">
    <select id="selectUser" resultType="com.fzshuai.pojo.User">
        select * from mybatis.user
    select>
mapper>
  1. 在resources/config下创建mybatis-config.xml配置文件


<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/mybatis_study?useUnicode=true&characterEncoding=UTF-8&useSSL=false"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            dataSource>
        environment>
    environments>
    <mappers>
        <mapper resource="mapper/userMapper.xml"/>
    mappers>
configuration>
  1. 在com.fzshuai.util下创建MybatisUtil类
package com.fzshuai.utils;

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;

/**
 * @author 软件二班傅同学
 * @description TODO
 * @date 2021-03-17 22:38
 */
public class MybatisUtil {
     

    private static SqlSessionFactory sqlSessionFactory;

    static {
     
        try {
     
            String resource = "config/mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
     
            e.printStackTrace();
        }
    }

    //获取SqlSession连接
    public static SqlSession getSession(){
     
        return sqlSessionFactory.openSession();
    }

}

你可能感兴趣的:(Mybatis,笔记,mybatis,java)