mybatis简单案例源码详细【注释全面】——前期准备
发布日期:2021-05-14 13:09:55 浏览次数:12 分类:精选文章

本文共 3783 字,大约阅读时间需要 12 分钟。

mybatis 是一款功能强大的动态SQL框架,旨在简化数据库交互的复杂性,为开发者提供更高效的数据库操作体验。本文将从基础配置、数据库管理和常见操作实现入手,提供一个以MyBatis为核心的 CRUD(增删改查)案例分析。

数据库创建与准备

首先,我们创建了一个基于MySQL的数据库,命名为smbms。数据库结构包括以下主要表:

  • smbms_role:存储角色信息,主要字段有idroleCoderoleNamecreatedBycreationDate等。
  • smbms_user:保存用户信息,包含iduserCodeuserNameuserPasswordgender等字段,并与role表通过外键关联。

以下是数据库创建SQL脚本:

CREATE DATABASE `smbms` /*!CREATE/tmp Tables if not exist*/ DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
USE `smbms`;
DROP TABLE IF EXISTS `smbms_role`;
CREATE TABLE `smbms_role` (
`id` bigint(20) AUTO_INCREMENT COMMENT '主键ID',
`roleCode` varchar(15) COMMENT '角色编码',
`roleName` varchar(15) COMMENT '角色名称',
`createdBy` bigint(20) COMMENT '创建者',
`creationDate` datetime COMMENT '创建时间',
`modifyBy` bigint(20) COMMENT '修改者',
`modifyDate` datetime COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE `smbms_user` (
`id` bigint(20) AUTO_INCREMENT COMMENT '主键ID',
`userCode` varchar(15) COMMENT '用户编码',
`userName` varchar(15) COMMENT '用户名称',
`userPassword` varchar(15) COMMENT '用户密码',
`gender` int(10) COMMENT '性别(1:女,2:男)',
`birthday` date COMMENT '出生日期',
`phone` varchar(15) COMMENT '手机',
`address` varchar(30) COMMENT '地址',
`userRole` int(10) COMMENT '用户角色(参考`role`表的`id`)',
`createdBy` bigint(20) COMMENT '创建者(用户ID)',
`creationDate` datetime COMMENT '创建时间',
`modifyBy` bigint(20) COMMENT '修改者(用户ID)',
`modifyDate` datetime COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

项目配置与依赖管理

在MyEclipse中新建项目时,我们需要包含以下关键jar包:

  • log4j-1.2.17.jar:用于日志记录。
  • mybatis-3.2.2.jar:MyBatis核心依赖。
  • mybatis-3.2.2-sources.jar:MyBatis源代码依赖。
  • mysql-connector-java-5.1.0-bin.jar:MySQL连接器。

项目模块划分

项目遵循以下模块划分:

  • org.entity:实体类(模型层)。
  • org.dao:接口与映射文件(DAO层)。
  • org.util:MyBatis工具处理类。
  • database.properties:数据库连接配置。
  • log4j.properties:日志配置文件。
  • mybatis-config.xml:MyBatis全局配置。
  • org.test:测试相关类。

核心配置文件解读

  • database.properties:包含数据库连接信息。

    driver=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/smbms?useUnicode=true&characterEncoding=utf-8
    user=root
    password=yourpassword(注:请根据实际情况修改密码)
  • log4j.properties:配置日志输出。

    log4j.rootLogger=DEBUG, CONSOLE, file
    log4j.logger_CN.SMBMS.Dao=debug
    log4j.logger.com.ibatis=debug
    log4j.logger.java.sql=debug
  • mybatis-config.xml:整体MyBatis配置。

  • 代码实体与DAO接口

  • 实体类:定义数据表对应的Java对象。

    package org.entity;
    public class User {
    private Integer id;
    private String userCode;
    private String userName;
    private String userPassword;
    private Integer gender;
    private Date birthday;
    private String phone;
    private String address;
    private Integer userRole;
    private Integer createdBy;
    private Date creationDate;
    private Integer modifyBy;
    private Date modifyDate;
    // Getter and Setter方法...
    }
  • DAO接口:定义数据库操作方法。

    package org.dao;
    public interface UserDao {
    // 基本CRUD操作方法...
    public Integer insert(User user);
    public User queryById(Integer id);
    public void update(User user);
    public void delete(Integer id);
    }
  • 映射文件:与数据库表对应,定义SQL映射。

  • 测试与验证

    为了确保系统功能正常,可以编写测试用例如下:

    public class TestMain {
    public static void main(String[] args) {
    UserDao userDao = new UserDaoImpl();
    // 测试插入操作
    User user = new User();
    user.setName("测试用户");
    userDao.insert(user);
    // 其他测试操作...
    }
    }

    总结与不足

    以上内容提供了一个基础的MyBatis配置与使用案例,涵盖了核心CRUD操作和相关配置管理。未涉及高级功能如缓存、过滤器等,欢迎留言分享建议与改进意见!

    上一篇:mybatis简单案例源码详细【注释全面】——实体层(User.java)
    下一篇:使用ueditor实现多图片上传案例——前台数据层(Index.jsp)

    发表评论

    最新留言

    感谢大佬
    [***.8.128.20]2025年04月09日 09时29分22秒