SSM框架開發案例——鐵大樹洞后台管理系統


寫在前面

在學習完了SSM框架后,想着寫個案例來鞏固一下,正好之前自己寫的APP需要一個后台管理系統,於是就寫了一個練練手。
github地址:https://github.com/wushenjiang/TDTreeHoleWeb

效果截圖


配置SSM框架

要做SSM,首先要配置SSM框架的環境。詳細請見上一篇博客:https://www.cnblogs.com/wushenjiang/p/12828812.html
這里我再做進一步的解耦,將數據庫配置和mybatis配置都獨立出來,如下:

    <!-- 加載數據庫連接池配置文件 -->
    <context:property-placeholder location="classpath:db.properties"/>
    <!-- 配置連接池-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.user}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="maxIdleTime" value="${jdbc.maxIdleTime}"/>
    </bean>
    <!-- 配置SqlSessionFactory-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <!-- 加載mybatis的全局配置文件-->
        <property name="configLocation" value="classpath:sqlMapConfig.xml"/>
    </bean>

數據庫配置文件就不上了,這里發一下mybatis的全局配置:

<?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>
    <mappers>
        <!-- xml配置文件必須和類在同一級package下,且同名 -->
        <package name="com.liuge.dao"/>
    </mappers>
</configuration>

主要是在這里設置了對應的包,要求我們的映射文件要和類在同一級package下。

模塊分工和思路

主要有三大模塊:用戶模塊,發帖模塊,回帖模塊。依次講解各個模塊:
用戶模塊細分為查看用戶和用戶詳情(可以查看用戶發帖和回帖),具體實現思路很簡單,就是把以前用servlet的東西都交給SpringMVC去做,設置一個方法和對應的注解即可。service和dao都交給Spring來管理。
發帖模塊細分為查看所有帖子和帖子詳情(可以看帖子下有什么回復)。
回帖模塊只有查看所有回帖。

踩坑記錄

  • 1.首先就是Mybatis的設置了。一直設置不好映射文件和接口的自動映射,后來發現maven工程默認不會掃描除resources下的xml,我們要在pom.xml手動設置一下:
    <!-- maven默認不編譯xml配置文件,需要手動指定-->
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <!-- 是否替換資源中的屬性 -->
        <filtering>false</filtering>
      </resource>
    </resources>
  • 2.再來就是sql注入問題。由於要寫一個模糊查詢,如果用字符串拼接必然會導致sql注入問題。這里用了mysql的自帶函數concat,連接字符串的函數。sql語句如下示例:
select * from post where title like concat('%',#{title},'%');

總結

經過這次開發,可以體會到SSM框架帶來的諸多好處。就是初期的配置略繁瑣,但配置好后寫代碼的速度和運行效率都大大提高了。以后會做更多的開發的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM