首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

企業級 JavaWeb 基礎框架搭建(一):Spring + MyBatis 整合與逆向工程完整實踐

     編輯:Java 綜合教學

項目目錄結構

src/main/java
├── controller   (控制層)
├── mapper       (持久層接口,替代傳統 DAO)
├── pojo         (實體類)
├── service      (業務層)
└── util         (工具類)

src/main/resources
├── config
│   └── db.properties          (數據庫連接參數)
├── mybatis
│   └── SqlMapConfig.xml       (MyBatis 核心配置,整合 Spring 後幾乎為空)
├── spring
│   └── applicationContext-dao.xml  (數據源、SqlSessionFactory、Mapper 掃描)
└── mapper                     (Mapper XML 文件目錄)

核心配置文件

1. db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/db_house_rent?characterEncoding=UTF-8
jdbc.username=root
jdbc.password=123456

2. SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 整合 Spring 後,環境、數據源、Mapper 由 Spring 管理,此處留空 -->
</configuration>

3. applicationContext-dao.xml (重點)

<beans ...>
    <context:property-placeholder location="classpath:config/db.properties"/>

    <!-- c3p0 數據源 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="maxPoolSize" value="50"/>
        <property name="minPoolSize" value="2"/>
        <property name="maxIdleTime" value="60"/>
    </bean>

    <!-- SqlSessionFactory -->
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="configLocation" value="classpath:config/mybatis/SqlMapConfig.xml"/>
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations">
            <list><value>classpath*:/mapper/*.xml</value></list>
        </property>
    </bean>

    <!-- Mapper 掃描器:自動註冊 Mapper 接口,無需 @Repository 或 component-scan -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.magic.rent.mapper"/>
        <property name="sqlSessionFactoryBeanName" value="sqlSession"/>
    </bean>
</beans>

MyBatis Generator 逆向工程配置

文件:generatorConfig.xml(放在 resources 根目錄)

  • 指定 JDBC 連接、目標表(如 Spring Security 必備表:SYS_USERS、SYS_ROLES 等)
  • 生成位置:src/test/java 下的 mybatis.pojo、mybatis.mapper 包
  • 策略:生成到 test 目錄,對比後手動合併到主代碼,避免覆蓋手工修改。
  <table tableName="SYS_USERS" enableCountByExample="false" ... />
  <table tableName="SYS_ROLES" ... />
  ...

IDEA 執行逆向工程

  1. 右側 Maven 面板 → Plugins → mybatis-generator → 雙擊運行
  2. 控制台輸出錯誤信息可直接排查
  3. 生成文件在 test 目錄,對比合併

測試目錄結構圖:

Generator 運行圖:

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved