24基于java的寵物醫(yī)院管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

項(xiàng)目背景

隨著互聯(lián)網(wǎng)的普及,已經(jīng)和我們的生活不可分割剃毒;寵物漸漸的已經(jīng)成為了我們的好朋友樊拓,寵物醫(yī)院管理系統(tǒng)可以幫助用戶合理的管理寵物,呵護(hù)寵物的健康妥衣,對(duì)寵物起到了一個(gè)健康監(jiān)控的作用皂吮;

項(xiàng)目介紹

系統(tǒng)總體分為3個(gè)角色:分別是系統(tǒng)管理員;醫(yī)生和用戶税手;不能的角色擁有不同的功能權(quán)限涮较,下面詳細(xì)介紹:
系統(tǒng)管理員:

  1. 系統(tǒng)設(shè)置
  2. 寵物管理
  3. 預(yù)約管理
  4. 日常健康
  5. 寵物檔案管理
  6. 醫(yī)院管理(預(yù)約統(tǒng)計(jì),發(fā)布指南等等...)

醫(yī)生:

  1. 寵物管理(寵物健康史 ...)
  2. 預(yù)約管理(預(yù)約管理冈止,醫(yī)生時(shí)間管理....)
  3. 寵物檔案管理(寵物日志...)
  4. 醫(yī)院管理(預(yù)約統(tǒng)計(jì)狂票,發(fā)布指南等等...)

用戶:

  1. 寵物管理(個(gè)人寵物列表,寵物健康史....)
  2. 預(yù)約管理(預(yù)約管理熙暴,醫(yī)生時(shí)間管理....)
  3. 日常健康(健康指南闺属,健康監(jiān)測(cè),健康標(biāo)準(zhǔn)....)
  4. 寵物檔案管理(預(yù)約統(tǒng)計(jì)周霉,寵物日志掂器,日志圖片分析...)

以上的權(quán)限都是可以由系統(tǒng)管理員重新分配的

項(xiàng)目環(huán)境和內(nèi)容獲取

> 前端:html, css, js, layui, jquery等;
> 后端:java, spring,maven等
> 數(shù)據(jù)庫(kù):mysql
> 開(kāi)發(fā)工具:eclipse或idea

感謝大家關(guān)注俱箱,想要資料的可以查看我的主頁(yè)個(gè)人介紹国瓮,點(diǎn)擊
image.png

部分核心代碼

import org.springframework.stereotype.Service;
import xyz.shiguangliang.mybatis.dao.UserMapper;

import xyz.shiguangliang.mybatis.domain.User;
import xyz.shiguangliang.service.UserService;
import xyz.shiguangliang.util.query.QueryInfo;

import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Objects;

@Service
public class UserServiceImpl implements UserService {
    @Resource
    private UserMapper userMapper;

    //登錄
    @Override
    public User login(String username, String password) {
        User user = userMapper.selectLogin(username,password);
        if (user != null) {
            //登錄次數(shù)加一
            if (user.getIntimes() !=  null) {
                user.setIntimes(user.getIntimes() + 1);
            }else {
                user.setIntimes(1);
            }
            //更新登錄時(shí)間
            user.setLastlogin(new Date());
            return user;
        }
        return null;
    }

    //注冊(cè)
    @Override
    public boolean register(User user) {
        int i = 0;
        //檢測(cè)用戶是否存在
        User user1 = userMapper.selectUsername(user.getUsername());
        if (user1 == null) {
            i = userMapper.insert(user);
        }
        return i > 0;
    }

    //用戶列表
    @Override
    public QueryInfo getUserList(String query, Integer pagenum,Integer pagesize) {
        QueryInfo queryInfo = new QueryInfo();
        int start;
        int end;
        if (pagenum == null||pagesize == null){
            pagenum =0;
            pagesize = 3;
        }
        start = (pagenum-1)*pagesize;
        end = pagesize;
        int userSize = userMapper.selectUserListLimitSize(query,start,end);
        List<User> users = userMapper.selectUserListLimit(query,start,end);
        queryInfo.setList(users);
        queryInfo.setTotal(userSize);
        return queryInfo;
    }

    //刪除用戶
    @Override
    public int deleteUser(Integer tid) {
        return userMapper.deleteByPrimaryKey(tid);
    }

    //通過(guò)id查找用戶
    @Override
    public User findById(Integer tid) {
        return userMapper.selectByPrimaryKey(tid);
    }



    //更新用戶
    @Override
    public int updateUser(User user) {
        if (user.getPassword()==null|| Objects.equals(user.getPassword(), "")){
            user.setPassword(userMapper.selectByPrimaryKey(user.getTid()).getPassword());
        }
        return userMapper.updateByPrimaryKey(user);
    }

    //通過(guò)用戶名查找用戶
    @Override
    public User findByUsername(String username) {
        return userMapper.selectUsername(username);
    }

    //獲取用戶權(quán)限
    @Override
    public int getPower(String username) {
        return userMapper.selectUsername(username).getPower();
    }
}

useMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="xyz.shiguangliang.mybatis.dao.UserMapper">
  <resultMap id="BaseResultMap" type="xyz.shiguangliang.mybatis.domain.User">
    <id column="tid" jdbcType="INTEGER" property="tid" />
    <result column="username" jdbcType="VARCHAR" property="username" />
    <result column="password" jdbcType="VARCHAR" property="password" />
    <result column="teachername" jdbcType="VARCHAR" property="teachername" />
    <result column="dno" jdbcType="INTEGER" property="dno" />
    <result column="power" jdbcType="INTEGER" property="power" />
    <result column="intimes" jdbcType="INTEGER" property="intimes" />
    <result column="lastlogin" jdbcType="TIMESTAMP" property="lastlogin" />
  </resultMap>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
    delete from teacher
    where tid = #{tid,jdbcType=INTEGER}
  </delete>
  <insert id="insert" parameterType="xyz.shiguangliang.mybatis.domain.User">
    insert into teacher (tid, username, password, 
      teachername, dno, power, 
      intimes, lastlogin)
    values (#{tid,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, 
      #{teachername,jdbcType=VARCHAR}, #{dno,jdbcType=INTEGER}, #{power,jdbcType=INTEGER}, 
      #{intimes,jdbcType=INTEGER}, #{lastlogin,jdbcType=TIMESTAMP})
  </insert>
  <update id="updateByPrimaryKey" parameterType="xyz.shiguangliang.mybatis.domain.User">
    update teacher
    set username = #{username,jdbcType=VARCHAR},
      password = #{password,jdbcType=VARCHAR},
      teachername = #{teachername,jdbcType=VARCHAR},
      dno = #{dno,jdbcType=INTEGER},
      power = #{power,jdbcType=INTEGER},
      intimes = #{intimes,jdbcType=INTEGER},
      lastlogin = #{lastlogin,jdbcType=TIMESTAMP}
    where tid = #{tid,jdbcType=INTEGER}
  </update>
  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
    select tid, username, password, teachername, dno, power, intimes, lastlogin
    from teacher
    where tid = #{tid,jdbcType=INTEGER}
  </select>
  <select id="selectAll" resultMap="BaseResultMap">
    select tid, username, password, teachername, dno, power, intimes, lastlogin
    from teacher
  </select>
    <select id="selectLogin" resultType="xyz.shiguangliang.mybatis.domain.User">
        select tid, username, password, teachername, dno, power, intimes, lastlogin
        from teacher
        where username = #{username} and password = #{password}
    </select>
  <select id="selectUsername" resultType="xyz.shiguangliang.mybatis.domain.User">
    select tid, username, password, teachername, dno, power, intimes, lastlogin
        from teacher
        where username = #{username}
  </select>
  <select id="selectUserListLimit" resultType="xyz.shiguangliang.mybatis.domain.User">
    select tid, username, password, teachername, dno, power, intimes, lastlogin
    from teacher
    where
    /*條件判斷*/
    <if test="#{query} != null and #{query} != ''">
      /*模糊查詢*/
      <bind name="query2" value="'%' + query + '%'"/>
      username like #{query2}
    </if>
    LIMIT #{start},#{end}
  </select>
  <select id="selectUserListLimitSize" resultType="java.lang.Integer">
    select count(*)
    from teacher
    where
    /*條件判斷*/
    <if test="#{query} != null and #{query} != ''">
      /*模糊查詢*/
      <bind name="query2" value="'%' + query + '%'"/>
      username like #{query2}
    </if>
  </select>
</mapper>

系統(tǒng)功能

系統(tǒng)管理員

  • 登錄


    image.png
  • 用戶管理


    image.png
  • 角色管理


    image.png
  • 寵物列表管理


    image.png
  • 寵物健康史


    image.png
  • 預(yù)約列表管理


    image.png
  • 增加預(yù)約


    image.png
  • 健康指南


    image.png
  • 健康監(jiān)控


    image.png
  • 健康標(biāo)準(zhǔn)


    image.png
  • 預(yù)約統(tǒng)計(jì)


    image.png
  • 寵物日志


    image.png
image.png
  • 醫(yī)院管理


    image.png

......

醫(yī)生角色

  • 寵物健康史


    image.png
  • 預(yù)約管理


    image.png
  • 寵物檔案


    image.png
  • 醫(yī)院管理


    image.png

用戶角色

  • 我的寵物列表


    image.png
  • 寵物健康史


    image.png
  • 預(yù)約管理


    image.png

日常健康

image.png
image.png
  • 寵物日志


    image.png
  • 預(yù)約統(tǒng)計(jì)


    image.png
  • 系統(tǒng)完整


    image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市狞谱,隨后出現(xiàn)的幾起案子乃摹,更是在濱河造成了極大的恐慌,老刑警劉巖跟衅,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孵睬,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡伶跷,警方通過(guò)查閱死者的電腦和手機(jī)掰读,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)叭莫,“玉大人蹈集,你說(shuō)我怎么就攤上這事」统酰” “怎么了拢肆?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我善榛,道長(zhǎng)辩蛋,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任移盆,我火速辦了婚禮悼院,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘咒循。我一直安慰自己据途,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布叙甸。 她就那樣靜靜地躺著颖医,像睡著了一般。 火紅的嫁衣襯著肌膚如雪裆蒸。 梳的紋絲不亂的頭發(fā)上熔萧,一...
    開(kāi)封第一講書(shū)人閱讀 51,541評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音僚祷,去河邊找鬼佛致。 笑死,一個(gè)胖子當(dāng)著我的面吹牛辙谜,可吹牛的內(nèi)容都是我干的俺榆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼装哆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼罐脊!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起蜕琴,我...
    開(kāi)封第一講書(shū)人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤萍桌,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后奸绷,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體梗夸,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年号醉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辛块。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡畔派,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出润绵,到底是詐尸還是另有隱情线椰,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布漾抬,位于F島的核電站啡浊,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏森枪。R本人自食惡果不足惜配紫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一径密、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧躺孝,春花似錦享扔、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至于个,卻和暖如春氛魁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背厅篓。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工秀存, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贷笛。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓应又,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親乏苦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子株扛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容