SSM框架之---Mybatis框架(單表操作)入門案例---xml配置

首先環境搭建
1、建立一個maven項目和一個簡單的java模塊
2、然後建立相應的包,並且進行相關的設置
3、然後數據庫建表,建立一個簡單的用戶表
4、新建一個jdbc的properties配置文件,用於數據庫連接
5、然後編寫好實體類User(注意需要實現序列化)

基本目錄結構
在這裏插入圖片描述

導入相關的依賴
在這裏插入圖片描述

目錄結構詳情
在這裏插入圖片描述

數據庫建表
在這裏插入圖片描述

jdbc.properties配置文件
在這裏插入圖片描述

創建用戶實體類
在這裏插入圖片描述

詳情代碼
1、實體類

package com.mybatis.domain;

import java.io.Serializable;

public class User implements Serializable {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }


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

2、DAO層接口(單表的增刪改查)

package com.mybatis.dao;

import com.mybatis.domain.User;

import java.util.List;

/**
 * 單表的增刪該查
 */
public interface IUserDAO {
    public List<User> findAll();
    public List<User> findByUserName();
    public void saveUser(User user);
    public void deleteUser(int id);
    public void updateUser(User user);
}

3、這裏是重點,創建SqlSession工具類,在Mybatis中用戶增刪改查的一個類就是Sqlsseion接口

package com.mybatis.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;

public class MySqlSessionUtil {
  private static SqlSessionFactory sqlSessionFactory;
  static {
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
      try {
          sqlSessionFactory = builder.build(Resources.getResourceAsStream("sqlMapperConfig.xml"));
      } catch (IOException e) {
          e.printStackTrace();
      }
  }
  public static SqlSession getSqlSession(){
      return sqlSessionFactory.openSession();
  }
}

4、然後在resources文件夾下創建主配置文件
用於加載相關數據庫連接以及查找相關映射文件

<?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>
    <properties resource="jdbc.properties"></properties>
    <typeAliases>
        <package name="com.mybatis.dao"></package>
        <package name="com.mybatis.domain"></package>
    </typeAliases>
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${db.driver}"/>
                <property name="url" value="${db.url}"/>
                <property name="username" value="${db.username}"/>
                <property name="password" value="${db.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <package name="com.mybatis.dao"></package>
    </mappers>
</configuration>

5、配置映射文件,進行相關的單表增刪改查

<?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.mybatis.dao.IUserDAO">
    <resultMap id="userMap" type="User">
        <id property="id" column="id"></id>
        <result property="username" column="user_name"></result>
        <result property="password" column="user_pwd"></result>
    </resultMap>
    <select id="findAll" resultMap="userMap">
        select * from usertb;
    </select>
</mapper>

6、編寫測試類

package com.mybatis.web;

import com.mybatis.dao.IUserDAO;
import com.mybatis.domain.User;
import com.mybatis.utils.MySqlSessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class UserServletTest {
    @Test
    public void findAllTest(){
        SqlSession sqlSession = MySqlSessionUtil.getSqlSession();
        IUserDAO mapper = sqlSession.getMapper(IUserDAO.class);
        List<User> all = mapper.findAll();
        for (User user : all) {
            System.out.println(user);
        }
    }
}

7、測試(查詢所有)
在這裏插入圖片描述

該項目鏈接
鏈接:https://pan.baidu.com/s/16iQMrYa-U1Qi7146ZXL3AQ
提取碼:2qxa

單表操作所有代碼(全面)
鏈接:https://pan.baidu.com/s/1hIqJ8lbGxSKXypLfCBuNzQ
提取碼:c51f

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章