学习IDEA连接MySQL数据库(持久化底层编码)

本文介绍了使用IDEA进行MySQL数据库连接,并通过JDBC实现数据持久化操作。内容涵盖JDBC的特性,如注解SQL执行、面向对象查询、多数据源支持等。同时,讲解了JDBC编码结构,包括接口定义、实现类创建以及测试案例,展示了一个完整的数据删除操作流程。
摘要由CSDN通过智能技术生成

一、JDBC持久化模块针对关系型数据库数据存取的一套简单解决方案,主要关注数据存取的效率、易用性和透明,其具备以下功能特征:

  1. 支持通过存储器注解自定义SQL语句或从配置文件中加载SQL并自动执行;
  2. 支持面向对象的数据库查询封装,有助于减少或降低程序编译期错误;
  3. 支持多数据源,默认支持C3P0、DBCP、JNDI连接池配置,支持数据源扩展;
  4. 支持数据库存储过程;
  5. 基于JDBC框架API进行轻量封装,结构简单、便于开发、调试和维护;
  6. 支持结果集与值对象的自动装配,支持自定义装配规则;
  7. 支持单实体ORM操作,无需编写SQL语句;
  8. 支持多种数据库(如:Oracle、MySQL、SQLServer等);
    9.优化批量数据更新、标准化结果集、预编译SQL语句处理;
  9. 支持数据库事务嵌套;
  10. 提供脚手架工具,快速生成数据实体类,支持链式调用;
    二、JDBC持久化编码结构图如下:
    在这里插入图片描述
    三、相关持久化编码如下:
    1、首先对数据库的表建立相应接口,如下:
    Band表:
package cn.edu.mju.project1.persiste;

import cn.edu.mju.project1.entity.Band;

import java.util.List;

public interface IBandDao {
   
    /**
     * 添加数据到数据库band表中
     * @param band
     * @return
     */
    public boolean insert(Band band);

    /**
     * 根据主键修改数据库表中的相应数据
     * @param band
     */
    public void update(Band band);

    /**
     * 根据主键删除记录
     * @param id
     * @return
     */
    public boolean delete(Integer id);

    /**
     * 根据主键查找记录
     * @param id 主键编号
     * @return
     */
    public Band findById(Integer id);

    /**
     * 查找所有的数据
     * @return
     */
    public List<Band> findAll(); //查找多个记录

    /**
     * 根据条件查询相关数据
     * @param band
     * @return
     */
    public List<Band> find(Band band);

    /**
     * 分页查询相关数据
     * @param page
     * @param pageSize
     * @param band
     * @return
     */
    public List<Band> pagenate(int page,int pageSize,Band band);
}


Student表:

package cn.edu.mju.project1.persiste;

import cn.edu.mju.project1.entity.Student;

import java.util.List;

public interface IStudentDao {
   
    /**
     * 添加数据到数据库Student表中
     * @param student
     * @return
     */
    public boolean insert(Student student);

    /**
     * 根据主建修改数据库中相应的数据
     * @param student
     * @return
     */
    public boolean update(Student student);

    /**
     * 根据主键删除记录
     * @param id
     * @return
     */
    public boolean delete(Integer id);

    /**
     * 根据主键查找数据
     * @param id
     * @return
     */
    public Student findById(Integer id);

    /**
     * 查找所有数据
     * @return
     */
    public List<Student> findAll();

    /**
     * 根据条件查找相关数据
     * @param student
     * @return
     */
    public List<Student> find(Student student);

    /**
     * 分页查询相关数据
     * @param page
     * @param pageSize
     * @param student
     * @return
     */
    public List<Student> pagenate(int page,int pageSize,Student student);
}

User表:

package cn.edu.mju.project1.persiste;

import cn.edu.mju.project1.entity.User;

import java.util.List;

public interface IUserDao {
   
    /**
     *添加数据到数据库User表中
     * @param user
     * @return
     */
    public boolean insert(User user);

    /**
     * 根据主键修改数据库中的数据
     * @param user
     * @return
     */
    public boolean update(User user);

    /**
     *根据主键删除数据库中的数据
     * @param id
     * @return
     */
    public boolean delete(Integer id);

    /**
     * 根据主键查询数据库总的数据
     * @param id
     * @return
     */
    public User findById(Integer id);

    /**
     * 查询数据库中所有的数据
     * @return
     */
    public List<User> findAll();

    /**
     * 根据条件查询相关数据
     * @param user
     * @return
     */
    public List<User> find(User user);

    /**
     * 分页查询相关数据
     * @param page
     * @param pageSize
     * @param user
     * @return
     */
    public List<User> pagenate(int page,int pageSize,User user);

}

2、然后建立对应的实现类,如下:
Band表实现类:

package cn.edu.mju.project1.persiste.impl;

import cn.edu.mju
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值