ssm项目-简单的健康信息管理系统01

今早8点进图书馆耗时3小时将我的实战练手项目:健康信息管理系统的后端搭建完毕,虽然还有空的API和功能没有补全,但是毕竟时间短,盲敲代码,我甚至发现我的记忆力惊人的好!

至于软件工程的项目文档那一套我们就不写了,因为这个小项目只是我自己检测自己对ssm框架理解与运用能力的一个测试而已啦。xdm,目前前端还没有写,计划后面两天补上,因为最近指定的计划是boot的yaml文件的学习与js的学习,有点赶时间的说。

项目实体与数据库表

出于对小型测试项目的考虑,我计划一个用户实体,一个用户的健康信息实体。模拟我们学校钉钉健康日报提交的方式。

User.java

public class User {
    private int id;
    private String name;
    private String sex;
    private String address;
    private String phone;
    private String emil;
//出于水文考虑,把set与get方法省略
}

Safe.java

public class Safe {
       private int id;
       private String wd;
       private String jkm;
       private String xck;
       private String address;
//这里也省略了set与get方法
}

数据库创建表格的语句代码

create schema ssmdemo;
use ssmdemo;
create table  ssmdemo_user(
    id int,
    name varchar(40),
    sex varchar(10),
    address varchar(50),
    phone varchar(100),
    emil varchar(100),
    primary key (id)
);
create table ssmdemo_safe(
    id int,
    wd varchar(20),温度
    jkm varchar(10),健康码状态
    xck varchar(10),行程卡状态
    address varchar(100),
    primary key(id)
);
create table ssmdemo_u_s(
    uid int,
    sid int
);
alter table ssmdemo_u_s add foreign key (uid) references  ssmdemo_user(id);
alter table ssmdemo_u_s add foreign key (sid) references ssmdemo_safe(id);

insert into ssmdemo_user values (1,'由比滨结衣','女','东京','123356','123356@qw');
insert into ssmdemo_safe values (1,'36.5','绿色','绿色','东京');
insert into ssmdemo_u_s values (1,1);

项目使用框架spring、springmvc、mybatis、web的核心配置文件

appliCationcontext.xml

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop.xsd">
<!--    配置组件扫描,不扫描含有controller注解的类-->
<context:component-scan base-package="com.hlc">
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!--    加载jdbc.properties-->
   <context:property-placeholder location="classpath:jdbc.properties"/>
<!--    配置C3P0数据源-->
    <bean class="com.mchange.v2.c3p0.ComboPooledDataSource" id="dataSource">
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
<!--配置sql会话工厂-->
    <bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sessionFactory">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="config.xml"/>
    </bean>
<!--    配置实现dao层接口的javabean-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" id="mapperScannerConfigurer">
        <property name="basePackage" value="com.hlc.dao"/>
    </bean>
<!--    配置事务-->
<!--    配置AOP织入-->
</beans>

springmvc.xml

?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans.xsd
                http://www.springframework.org/schema/mvc
                http://www.springframework.org/schema/mvc/spring-mvc.xsd
                http://www.springframework.org/schema/context
                http://www.springframework.org/schema/context/spring-context.xsd">
<!--组件扫描-->
    <context:component-scan base-package="com.hlc.controller"/>
<!--    注解驱动-->
    <mvc:annotation-driven/>
<!--    静态资源访问权限-->
    <mvc:default-servlet-handler/>
<!--    内部资源视图解析器-->
  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="viewResolver">
      <property name="prefix" value="/WEB-INF/jsp/"/>
      <property name="suffix" value=".jsp"/>
  </bean>
</beans>

config.xml

<?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>
    <mapper resource="UserMapper.xml"/>
    <mapper resource="SafeMapper.xml"/>
</mappers>
</configuration>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
<!--  配置spring监听器与上下文参数applicationContext-->
<!--  上下文参数-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:/spring/applicationContext.xml</param-value>
  </context-param>
<!--  监听器ContextLoaderListener-->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
<!--  配置前端控制器DispatcherServlet-->
  <servlet>
    <servlet-name>DispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:/spring/springmvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
<!--  配置字符编码过滤器-->
  <filter>
    <filter-name>char encoding filter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>char encoding filter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

项目业务逻辑代码部分

持久层接口与对应mapper映射文件

userDao

import java.util.List;

public interface UserDao {
    List<User> userList();
    void delete(int id);
    void insert(User user);
    List<User> queryByName(String name);
}

UserMapper.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="com.hlc.dao.UserDao">
    <select id="userList" resultType="com.hlc.pojo.User">
        select * from ssmdemo.ssmdemo_user
    </select>
    <select id="queryByName" parameterType="string" resultType="com.hlc.pojo.User">
        select * from ssmdemo.ssmdemo_user where name=#{name}
    </select>
    <insert id="insert" parameterType="com.hlc.pojo.User">
        insert into ssmdemo.ssmdemo_user values (#{id},#{name},#{sex},#{address},#{phone},#{emil})
    </insert>
    <delete id="delete" parameterType="int">
        delete from ssmdemo.ssmdemo_user where id=#{id}
    </delete>
</mapper>

safeDao

import java.util.List;

public interface SafeDao {
    List<Safe> safeList();
    List<Safe> query(int id);
    void insert(Safe safe);
    void delete(int id);
}

SafeMapper.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="com.hlc.dao.SafeDao">
    <select id="safeList" resultType="com.hlc.pojo.Safe">
        select * from ssmdemo.ssmdemo_safe
    </select>
    <select id="queryBy" parameterType="int" resultType="com.hlc.pojo.Safe">
        select * from ssmdemo.ssmdemo_safe where id=#{id}
    </select>
    <insert id="insert" parameterType="com.hlc.pojo.Safe">
        insert into ssmdemo.ssmdemo_safe values (#{id},#{wd},#{jkm},#{xck},#{address})
    </insert>
    <delete id="delete" parameterType="int">
        delete from ssmdemo.ssmdemo_safe where id=#{id}
    </delete>
</mapper>

业务层接口与它的实现

userService

import java.util.List;

public interface UserService {
    List<User> userList();
    void delete(int id);
    void insert(User user);
    List<User> queryByName(String name);
}

userServieImpl

import java.util.List;
@Service("User")
public class UserServiceImpl implements UserService{

    @Autowired
    private UserDao userDao;

    @Override
    public List<User> userList() {
        return userDao.userList();
    }

    @Override
    public void delete(int id) {
        userDao.delete(id);
    }

    @Override
    public void insert(User user) {
        userDao.insert(user);
    }

    @Override
    public List<User> queryByName(String name) {
        return userDao.queryByName(name);
    }
}

safeService

import java.util.List;

public interface SafeService {
    List<Safe> safeList();
    List<Safe> query(int id);
    void insert(Safe safe);
    void delete(int id);
}

safeServiceImpl

import java.util.List;
@Service("Safe")
public class SafeServiceImpl implements SafeService{

    @Autowired
    private SafeDao safeDao;

    @Override
    public List<Safe> safeList() {
        return safeDao.safeList();
    }

    @Override
    public List<Safe> query(int id) {
        return safeDao.query(id);
    }

    @Override
    public void insert(Safe safe) {
        safeDao.insert(safe);
    }

    @Override
    public void delete(int id) {
        safeDao.delete(id);
    }
}

控制层代码(safeController代码与其相似,就是改方法名)

userController.java

@Controller
@RequestMapping("/User")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/List")
    public ModelAndView userList(){
        ModelAndView modelAndView = new ModelAndView();
        List<User> userList = userService.userList();
        modelAndView.setViewName("UserList");
        modelAndView.addObject("userList",userList);
        return modelAndView;
    }

    @RequestMapping("/delete")
    public void delete(int id){
       userService.delete(id);
    }
    
//    注意这个视图逻辑:先由主页进入页面addUser.jsp页面中,再将里面的from表单提交的数据设置方法为我们这个/User/insert将数据流进
//    整理之后传进数据表,再将数据表中更新后的数据展示出来。
    @RequestMapping("/insert")
    public ModelAndView insert(User user){
        ModelAndView modelAndView = new ModelAndView();
        userService.insert(user);
        List<User> userList = userService.userList();
        modelAndView.addObject("userList",userList);
        modelAndView.setViewName("UserList");
        return modelAndView;
    }

    @RequestMapping("/query")
    public ModelAndView query(String name){
        ModelAndView modelAndView = new ModelAndView();
        List<User> userList = userService.queryByName(name);
        modelAndView.addObject("userList",userList);
        modelAndView.setViewName("queryUser");
        return modelAndView;
    }
}

项目资源文件、日志配置、pom文件坐标注入

jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=123456

log4j.properties

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c:/mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=info, stdout

pom

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
<!--spring-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.3.16</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.16</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>5.0.5.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>5.3.16</version>
    </dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.9.5</version>
    </dependency>
    <!--servlet-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
    </dependency>
    <!--mybatis-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.28</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.7</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>2.0.2</version>
    </dependency>
    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.5.2</version>
    </dependency>
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
  </dependencies>

前端页面明天再写。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ForestSpringH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值