中软国际实训全记录——第三天

中软国际实训第三天——认识ssm与搭建ssm

  • 1、ssm框架基本概念
    • 1.1、Spring
    • 1.2、SpringMVC
    • 1.3、MyBatis
  • 2、建立ssm项目
    • 2.1、新建Maven项目
    • 2.2、添加项目主要目录
    • 2.3、项目内容编码
    • 2.4、使用Tomcat运行项目
    • 2.5、建立数据库的连接
    • 2.6、对数据库中数据进行查询
    • 2.7、使用控制器显示查询到的用户数据

1、ssm框架基本概念

1.1、Spring

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

1.2、SpringMVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了模型对象(Model)、视图(View)、控制器(Controller)以及处理程序对象的角色,这种分离让它们更容易进行定制。

1.3、MyBatis

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

2、建立ssm项目

2.1、新建Maven项目

打开IDEA点击File->New->Project,选择Maven项,勾选Create from archetype,再选择右侧中的maven-archetype-webapp项。
中软国际实训全记录——第三天_第1张图片

2.2、添加项目主要目录

在项目创建完成之后,我们需要依据我们的需要依次建立java目录与resource目录,在新建Directory之后,我们需要右键此目录,选择ark Directory as,java目录选择Sources Root,,resource目录选择Resources Root,这样就可以将它们添加到项目中。
中软国际实训全记录——第三天_第2张图片
在java目录下创建com.zhongruan.bean、com.zhongruan.controller、com.zhongruan.dao、com.zhongruan.service四个目录,需要注意的是,如果不能文件夹分层的话,点击右上角的小齿轮,然后取消选择Compact Middle Packages,在resource中建立一个UserInfoMapper.xml文件。建立好之后目录如下所示。
中软国际实训全记录——第三天_第3张图片

2.3、项目内容编码

在bean目录下建立类UserInfo,与昨天项目中的bean下的类一样,我们这次选择在其中添加一个无参的构造函数。
在dao目录下建立一个接口IUserInfoDao,用来提供一个入口,来具体实现数据库的增添查改等操作。

public interface IUserInfoDao {
    public List<UserInfo> findAll();
}

在service目录下,创建一个目录impl来对服务接口具体的实现,在此处来实现service下的IUserInfoService接口。
IUserInfoService.java

public interface IUserInfoService {
    public List<UserInfo> findAll();
}

UserInfoServiceImpl.java

@Service("userInfoService")
public class UserInfoServiceImpl implements IUserInfoService {
    @Autowired            //直接实现,不用声明
    IUserInfoDao userInfoDao;

    public List<UserInfo> findAll(){
        return userInfoDao.findAll();
    }
}

我们还需要修改pom。xml中的文件。将下面的代码直接粘贴到相应的位置替换掉;

<properties>
    <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    <maven.compiler.source>1.7maven.compiler.source>
    <maven.compiler.target>1.7maven.compiler.target>
    
    <spring.version>5.0.2.RELEASEspring.version>
    
    <mybatis.version>3.2.6mybatis.version>
    
    <slf4j.version>1.7.7slf4j.version>
    <log4j.version>1.2.17log4j.version>
    <c3p0.version>0.9.5.2c3p0.version>
    <taglibs.version>1.1.2taglibs.version>
  properties>
  <dependencies>
      
      <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-coreartifactId>
        <version>${spring.version}version>
      dependency>

      <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-webartifactId>
        <version>${spring.version}version>
      dependency>
      <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-oxmartifactId>
        <version>${spring.version}version>
      dependency>
      <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-txartifactId>
        <version>${spring.version}version>
      dependency>

      <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-jdbcartifactId>
        <version>${spring.version}version>
      dependency>

      <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-webmvcartifactId>
        <version>${spring.version}version>
      dependency>
      <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-aopartifactId>
        <version>${spring.version}version>
      dependency>

      <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-context-supportartifactId>
        <version>${spring.version}version>
      dependency>

      <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-testartifactId>
        <version>${spring.version}version>
      dependency>
      
      <dependency>
        <groupId>org.mybatisgroupId>
        <artifactId>mybatisartifactId>
        <version>${mybatis.version}version>
      dependency>
      
      <dependency>
        <groupId>org.mybatisgroupId>
        <artifactId>mybatis-springartifactId>
        <version>1.2.2version>
      dependency>
      
      <dependency>
        <groupId>javaxgroupId>
        <artifactId>javaee-apiartifactId>
        <version>7.0version>
      dependency>

      
      <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <version>5.1.30version>
      dependency>
      
      <dependency>
        <groupId>commons-dbcpgroupId>
        <artifactId>commons-dbcpartifactId>
        <version>1.2.2version>
      dependency>
      
      <dependency>
        <groupId>jstlgroupId>
        <artifactId>jstlartifactId>
        <version>1.2version>
      dependency>
      
      
      <dependency>
        <groupId>log4jgroupId>
        <artifactId>log4jartifactId>
        <version>${log4j.version}version>
      dependency>


      
      <dependency>
        <groupId>com.mchangegroupId>
        <artifactId>c3p0artifactId>
        <version>${c3p0.version}version>
      dependency>

      <dependency>
        <groupId>taglibsgroupId>
        <artifactId>standardartifactId>
        <version>${taglibs.version}version>
      dependency>

      <dependency>
        <groupId>org.slf4jgroupId>
        <artifactId>slf4j-apiartifactId>
        <version>${slf4j.version}version>
      dependency>
      <dependency>
        <groupId>org.slf4jgroupId>
        <artifactId>slf4j-log4j12artifactId>
        <version>${slf4j.version}version>
      dependency>

      
      <dependency>
        <groupId>javax.servletgroupId>
        <artifactId>javax.servlet-apiartifactId>
        <version>3.1.0version>
        <scope>providedscope>
      dependency>
      
      <dependency>
        <groupId>javax.servlet.jspgroupId>
        <artifactId>javax.servlet.jsp-apiartifactId>
        <version>2.3.1version>
        <scope>providedscope>
      dependency>
  dependencies>

2.4、使用Tomcat运行项目

点击导航栏上面的run,选择Edit configurations,点击左上角的+,在下面找到Tomcat server,添加Tomcat下的local服务器,在右方的Name中填写名字,在Application server中找到自己电脑上安装的Tomcat。选择Deployment,点击+,选择External source,将其添加上,之后选择OK,Tomcat就添加到了我们的项目之中,我们点击运行按钮,我们我们项目便会打开在浏览器中。
中软国际实训全记录——第三天_第4张图片
运行之后会在项目的目录中生成一个target的文件夹。
中软国际实训全记录——第三天_第5张图片

2.5、建立数据库的连接

将老师给我们提供的applicationContext.xml、db.properties、log4j.properties、spring-mvc.xml四个文件复制到resource目录下。applicationContext.xml中定义了ssm中的spring与mybatis,而spring-mvc则是springMVC。我们还修改db.properties中的内容,使我们可以可以与自己的数据库连接。
中软国际实训全记录——第三天_第6张图片
db.properties

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://127.0.0.1:3306/user?useSSL=true&characterEncoding=utf-8&user=root&password=123
jdbc.username = root
jdbc.password = 123

2.6、对数据库中数据进行查询

对于数据的查询,实现在UserInfoMapper.xml中。



<mapper namespace="com.zhongruan.dao.IUserInfoDao" >
    <select id="findAll" resultType="com.zhongruan.bean.UserInfo">
        select * from userinfo
    select>
mapper>

id是用来寻找操作函数的标识,而resultType则表示执行完成之后的返回值。

2.7、使用控制器显示查询到的用户数据

对于页面,老师已经给了我们,不需要我们自己去编写,所以我们只需要将addUser.jsp、allUser.jsp、updateUser.jsp、user-list.jsp几个页面加入到webapp下面新建的jsp文件夹中。
在controller中新建类UserInfoController来显示数据库中的数据。

@Controller
@RequestMapping("user")

public class UserInfoController {
    @Autowired
    IUserInfoService userInfoService;

    @RequestMapping("findAll.do")
    public ModelAndView findAll(){
        List<UserInfo> users = userInfoService.findAll();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("users", users );
        modelAndView.setViewName("allUser");

        return modelAndView;
    }

modelAndView.setViewName是通过使用jsp文件名的方式来获取到页面的。
我们再次点击页面之后就会如下所示:
中软国际实训全记录——第三天_第7张图片
点击查询所有用户之后如下所示;
中软国际实训全记录——第三天_第8张图片
今天的学习中,我们需要学习的很多,是非常充实的一天。

你可能感兴趣的:(中软国际实训全记录——第三天)