Java Web 综合项目开发:数据库集成与持久化实战指南

06-01 1375阅读

目录

一、数据库集成和持久化概述

二、MySQL安装配置(Windows环境)

1. 下载MySQL

2. 安装MySQL

3. 配置环境变量

4. 常用工具推荐

三、MyBatis基本使用

1. 核心概念

2. 快速入门示例

(1)创建Maven项目并添加依赖
(2)配置MyBatis核心文件
(3)创建实体类
(4)定义Mapper接口
(5)编写Mapper XML文件
(6)测试代码

四、MyBatis-Plus基本使用

1. 核心优势

2. 快速入门示例

(1)创建Spring Boot项目并添加依赖
(2)配置数据源
(3)创建实体类并添加注解
(4)定义Mapper接口(继承BaseMapper)
(5)分页查询示例
(6)条件构造器示例

五、总结

一、数据库集成和持久化概述

在Java Web项目中,数据库集成与持久化是数据存储和操作的核心环节。持久化通过JDBC、ORM框架(如MyBatis、Hibernate)等技术,将Java对象映射到数据库表中,实现数据的CRUD操作。合理设计数据库架构、优化SQL语句、选择合适的ORM框架是项目成功的关键。

二、MySQL安装配置(Windows环境)

1. 下载MySQL

  • 访问MySQL官网,选择社区版(MySQL Community Server)。
  • 根据操作系统选择对应版本(如Windows推荐安装包)。

    2. 安装MySQL

    • 运行安装程序,选择自定义安装(Custom)。
    • 勾选MySQL Server及Connector/J(JDBC驱动)。
    • 配置安装路径和数据存储路径。
    • 设置root用户密码(建议使用强密码)。

      3. 配置环境变量

      • 将MySQL的bin目录路径(如C:\Program Files\MySQL\MySQL Server 8.0\bin)添加到系统环境变量PATH中。
      • 验证配置:打开命令提示符,输入mysql -u root -p,输入密码后成功登录即表示配置完成。

        4. 常用工具推荐

        • Navicat:图形化管理工具,支持可视化操作数据库。
        • MySQL Workbench:官方提供的免费工具,功能全面。

          三、MyBatis基本使用

          1. 核心概念

          MyBatis通过XML或注解配置SQL语句,将Java对象与数据库表映射,避免手动拼接SQL,提升开发效率。

          2. 快速入门示例

          (1)创建Maven项目并添加依赖
              
                  org.mybatis
                  mybatis
                  3.5.13
              
              
                  mysql
                  mysql-connector-java
                  8.0.33
              
          
          (2)配置MyBatis核心文件

          mybatis-config.xml:

              
                  
                      
                      
                          
                          
                          
                          
                      
                  
              
              
                  
              
          
          (3)创建实体类
          public class User {
              private Integer id;
              private String username;
              private String password;
              // getters和setters省略
          }
          (4)定义Mapper接口
          public interface UserMapper {
              User selectById(Integer id);
              int insert(User user);
          }
          (5)编写Mapper XML文件

          UserMapper.xml:

              
                  SELECT id, username, password FROM user WHERE id = #{id}
              
              
                  INSERT INTO user(username, password) VALUES(#{username}, #{password})
              
          
          (6)测试代码
          public class MyBatisTest {
              public static void main(String[] args) throws IOException {
                  String resource = "mybatis-config.xml";
                  InputStream inputStream = Resources.getResourceAsStream(resource);
                  SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
                  try (SqlSession session = sqlSessionFactory.openSession()) {
                      UserMapper mapper = session.getMapper(UserMapper.class);
                      User user = mapper.selectById(1);
                      System.out.println(user);
                  }
              }
          }

          四、MyBatis-Plus基本使用

          1. 核心优势

          MyBatis-Plus是MyBatis的增强工具,提供代码生成器、条件构造器、分页插件等功能,减少重复代码。

          2. 快速入门示例

          (1)创建Spring Boot项目并添加依赖
              com.baomidou
              mybatis-plus-boot-starter
              3.5.7
          
          (2)配置数据源

          application.yml:

          spring:
            datasource:
              driver-class-name: com.mysql.cj.jdbc.Driver
              url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC
              username: root
              password: password
          (3)创建实体类并添加注解
          @Data
          @TableName("user") // 指定表名
          public class User {
              @TableId(type = IdType.AUTO) // 主键自增
              private Integer id;
              private String username;
              private String password;
          }
          (4)定义Mapper接口(继承BaseMapper)
          public interface UserMapper extends BaseMapper {
              // 无需编写方法,BaseMapper已提供CRUD方法
          }
          (5)分页查询示例

          通过掌握以上内容,可以高效完成Java Web项目中的数据库集成与持久化开发。

          • 配置分页插件:
            @Configuration
            public class MybatisPlusConfig {
                @Bean
                public MybatisPlusInterceptor mybatisPlusInterceptor() {
                    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
                    interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
                    return interceptor;
                }
            }
          • 使用分页查询:
            @SpringBootTest
            public class MyBatisPlusTest {
                @Autowired
                private UserMapper userMapper;
                @Test
                public void testPage() {
                    Page page = new Page(1, 10); // 第1页,每页10条
                    IPage userPage = userMapper.selectPage(page, null);
                    System.out.println("总记录数:" + userPage.getTotal());
                    System.out.println("当前页数据:" + userPage.getRecords());
                }
            }
            (6)条件构造器示例
            @Test
            public void testQueryWrapper() {
                QueryWrapper wrapper = new QueryWrapper();
                wrapper.eq("username", "admin") // 等于
                       .like("password", "123"); // 模糊查询
                List users = userMapper.selectList(wrapper);
                users.forEach(System.out::println);
            }

            五、总结

          • 数据库集成:合理设计表结构,优化SQL语句,选择合适的ORM框架(如MyBatis-Plus)。
          • MySQL配置:安装后务必配置环境变量,推荐使用Navicat等工具辅助开发。
          • MyBatis:适合需要灵活控制SQL的场景,通过XML或注解配置SQL语句。
          • MyBatis-Plus:适合快速开发,提供丰富的功能(如分页、条件构造器),减少重复代码。
          Java Web 综合项目开发:数据库集成与持久化实战指南
          (图片来源网络,侵删)
          Java Web 综合项目开发:数据库集成与持久化实战指南
          (图片来源网络,侵删)
          Java Web 综合项目开发:数据库集成与持久化实战指南
          (图片来源网络,侵删)
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码