欢迎光临散文网 会员登陆 & 注册

SSM框架简介,PPT,查询功能,dbcp数据库连接池,interface接口,service【诗书画唱】

2021-03-23 23:12 作者:诗书画唱  | 我要投稿

个人小总结&我的奇妙比喻:Spring容器就像是“天降”,"new"关键字就像是”青梅“,项目就是”竹马“,”青梅“敌不过“天降”。或者说,Spring等框架就是取代被渐渐跟不上与满足不了高效需要的老一辈的“new”的新生代。Spring容器,框架等等就是欺负“new”关键字等等的家伙, 把“new”关键字等等都“赶尽杀绝”,取代,“谋权篡位”,赶走等的“好家伙”(其实很多新老技术等等的关系都可以用我这些的奇妙比喻来解释)。

个人感悟:淦!目前每天学习,写代码等等都要耗费我大半天,害得我高创视频,高创原创音乐作品,高创翻唱歌曲,高创动漫等等一直没时间做!以后努力多创作更多更高创的作品!

概括:


SSM框架简介

边看教程视频边记录的学习笔记


Mybatis框架中XXXSqlMap.xml映射文件的namespace的接口等的设置

映射文件中的namespace中写的类的全路径不可以写错,必须要存在,不然会报错

Userinfo等interface接口中代码的作用是:获取其接口的“实现类”

实现查询功能

实现新增功能

insert语句新增时,要通过使用序列来给id列赋值

个人对dbcp数据库连接池的理解

只要配置文件的value设置中出现“classpath”的部分,就说明其mybatis.xml等的部分的文件是放在src的目录下的文件。

个人理解:ref=“XXX”就是引用id为“XXX”的bean标签等的部分

这里的value=“XXX/XXX/XXX”的意思是:要扫码XXX/XXX/XXX这个目录下的习惯命名为XXXDao格式等的interface接口

配置习惯命名为XXXDao格式的interface接口的实现类

千万要记住导入的dbcp数据库连接池的包

个人理解这里不报空指针异常的原因是:@Autowired注解自动把实现类注入到userinfoDao接口中

我创建test类等等是为了测试Spring MVC框架等是否被我使用成功

界面跳转成功说明Spring MVC框架被我成功整合到项目里面了,也就是说被我使用成功了

个人理解:要特别注意的是,在service中的属性名要是首字母被改成小写字母的接口名,因为这个项目使用了ByName的自动注入,不这样的话,就可能发生“识别等错误,找不到”等的错误,就会发生报错。

SSM框架中的查询部分

在controller中调用service中的方法







6、SPRING框架_集成.ppt

讲义

例子记录


例子记录的运行效果

例子记录的Oracle数据库部分

运行项目的方法



SSM框架简介 START

SSM(Spring+SpringMVC+MyBatis,或说SSM是Springmvc+Springcore+Mybatis,曾经问过老师,他的理解:Springcore框架就是Spring框架。)框架集由Spring、MyBatis两个开源框架整合而成SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。

SSM框架简介 END

边看教程视频边记录的学习笔记 START


个人理解:集成框架就是多个框架整合而成的框架。

Bootstrap类似于easyui,都是用于写界面更美观和方便高效的。

实现查询功能 START

Mybatis框架中XXXSqlMap.xml映射文件的namespace的接口等的设置
Userinfo等interface接口中代码的作用是:获取其接口的“实现类”
至于实现类的话,Mybatis框架会自动生成“实现类”的方法
其实UserinfoDao的interface接口相当于以前的Userinfo类
映射文件中的namespace中写的类的全路径不可以写错,必须要存在,不然会报错

实现查询功能 END

实现新增功能 START

insert语句新增时,要通过使用序列来给id列赋值




实现新增功能 END

个人对dbcp数据库连接池的理解:dbcp数据库连接池会在空闲的时候创建对象,在要用的时候就是会从dbcp数据库连接池中调用,不用时就是会“销毁”,把数据“还回”到dbcp数据库连接池中,这样调用等的时间就会变很短,项目运行的时间会因为使用了dbcp数据库连接池而变得更短,就变得更高效。现在做得项目很小,访问量不很大,感觉优点不明显,一但做每天访问量很大,比如淘宝网每天一亿访问量等的项目时,其dbcp数据库连接池的优点就变得更明显了。


在使用Spring Core框架后就可以不用写session的部分,其session的部分实现的功能的代码就是写在配置文件中了。

在使用Spring Core框架后就可以不用写的session的部分



只要配置文件的value设置中出现“classpath”的部分,就说明其mybatis.xml等的部分的文件是放在src的目录下的文件。


只要配置文件的value设置中出现“classpath”的部分,就说明其mybatis.xml等的部分的文件是放在src的目录下的文件。


个人理解:ref=“XXX”就是引用id为“XXX”的bean标签等的部分(ref表明使用了setter注入中的引用注入)

个人理解:ref=“XXX”就是引用id为“XXX”的bean标签等的部分


这里的value=“XXX/XXX/XXX”的意思是:要扫码XXX/XXX/XXX这个目录下的习惯命名为XXXDao格式等的interface接口

这里的value=“XXX/XXX/XXX”的意思是:要扫码XXX/XXX/XXX这个目录下的习惯命名为XXXDao格式等的interface接口
这里其实就是配置习惯命名为XXXDao格式的interface接口的实现类
千万要记住导入的dbcp数据库连接池的包


个人理解这里不报空指针异常的原因是:@Autowired注解自动把实现类注入到userinfoDao接口中


个人理解这里不报空指针异常的原因是:@Autowired注解自动把实现类注入到userinfoDao接口中
我创建test类等等是为了测试Spring MVC框架等是否被我使用成功

界面跳转成功说明Spring MVC框架被我成功整合到项目里面了,也就是说被我使用成功了

界面跳转成功说明Spring MVC框架被我成功整合到项目里面了,也就是说被我使用成功了
这里的“扫描@controller注解”的部分的 base-package的值的内容的意思是:同时扫描我图中框起来的3个包

个人理解:要特别注意的是,在service中的属性名要是首字母被改成小写字母的接口名,因为这个项目使用了ByName的自动注入,不这样的话,就可能发生“识别等错误,找不到”等的错误,就会发生报错。

个人理解:要特别注意的是,在service中的属性名要是首字母被改成小写字母的接口名,因为这个项目使用了ByName的自动注入,不这样的话,就可能发生“识别等错误,找不到”等的错误,就会发生报错。

SSM框架中的查询部分 START

在controller中调用service中的方法
执行访问路径后,就可以看到运行查询功能的效果实现了






SSM框架中的查询部分 END

边看教程视频边记录的学习笔记 END





6、SPRING框架_集成.ppt

SPRINGMVC框架

集成

概述

springmvc整合mybatis框架

Springmvc和mybatis框架整合

步骤一:创建一个javaweb项目。

步骤二:导入mybatis框架包、日志包log4j.jar和数据库驱动包(本例中使用oracle数据库)。

步骤三:在src目录下创建mybatis.xml主配置文件、db.properties数据库配置文件以及log4j.properties日志文件(能够打印后台sql语句)。

步骤四:在oracle数据库中创建一个测试表,对mybatis框架进行测试。

Springmvc和mybatis框架整合

步骤五:创建实体类net.jy.bean.Mytest。


Springmvc和mybatis框架整合

  步骤六:创建映射文件net.jy.dao.MytestMapper.xml和对应的接口MytestMapper类。


Springmvc和mybatis框架整合

  步骤七:修改mybatis.xml文件注册映射接口并在一个main方法中进行测试。


Springmvc和mybatis框架整合

  步骤八:接下来我们需要对springcore框架和mybatis框架进行整合。导入springcore框架包和两个框架的整合包mybatis-spring-1.2.3.jar。

   步骤九:修改web.xml文件,添加spring监听器。

Springmvc和mybatis框架整合

  步骤十:创建TestBean类,并在WEB-INF/applicationContext.xml文件中注册该类。

Springmvc和mybatis框架整合

  步骤十一:创建一个servlet类,在servlet中调用TestBean中的say方法。

Springmvc和mybatis框架整合

  步骤十二:导入mybatis-spring-1.2.3.jar整合包,修改applicationContext.xml文件。同时要导入dbcp数据库连接池包commons-dbcp-1.2.jar。

Springmvc和mybatis框架整合

  步骤十二:修改applicationContext.xml文件。

Springmvc和mybatis框架整合

  步骤十三:修改mybatis.xml文件,现在mybatis的session对象已经交给spring容器管理了。

Springmvc和mybatis框架整合

   步骤十四:修改TestBean中的代码。

Springmvc和mybatis框架整合

  步骤十五:再次运行TestServlet,观察运行效果。现在我们的jdbc编程完全不需要写连接语句了。

Springmvc和mybatis框架整合

  步骤十六:在WEB-INF目录下创建springmvc-servlet.xml文件。并且导入springmvc的框架包。

Springmvc和mybatis框架整合

  步骤十七:修改web.xml文件,添加springmvc框架配置。

Springmvc和mybatis框架整合

  步骤十八:创建net.jy.controller.TestController类,同时创建WEB-INF/page/index.jsp页面进行mvc框架测试。

Springmvc和mybatis框架整合

  步骤十八:创建net.jy.controller.TestController类,同时创建WEB-INF/page/index.jsp页面进行mvc框架测试。

Springmvc和mybatis框架整合

  步骤十九:修改springmvc-servlet.xml配置文件。

Springmvc和mybatis框架整合

  步骤二十:修改MytestMapper接口中的代码。

   注意:@Repository(value="userDao")注解是告诉Spring,让Spring创建一个名字叫“userDao”的UserDaoImpl实例。 当Service需要使用Spring创建的名字叫“userDao”的UserDaoImpl实例时,就可以使用@Resource(name = "userDao")注解告诉Spring,Spring把创建好的userDao注入给Service即可。


Springmvc和mybatis框架整合

  步骤二十一:创建net.jy.service.PubService类。

   注意:@Service("userService")注解是告诉Spring,当Spring要创建UserServiceImpl的的实例时,bean的名字必须叫做"userService",这样当Action需要使用UserServiceImpl的的实例时,就可以由Spring创建好的"userService",然后注入给Action。

Springmvc和mybatis框架整合

  步骤二十二:修改TestController类。

Springmvc和mybatis框架整合

  步骤二十三:重启工程,进行测试。

Springmvc和mybatis框架整合

  步骤二十四:修改MytestMapper类,添加一个新增的方法。

Springmvc和mybatis框架整合

  步骤二十五:修改MytestMapper配置文件,配置新增的方法的xml。

Springmvc和mybatis框架整合

  步骤二十六:修改PubService类,添加register方法。

Springmvc和mybatis框架整合

  步骤二十七:修改TestController类,添加reg方法。重启工程,访问这个路径会发现,id为4的数据并没有插入到数据库。这是因为事务没有提交。

Springmvc和mybatis框架整合

  步骤二十八:下面给PubService类添加事务管理。在applicationContext.xml的beans标签中添加如如下的三行代码(tx)。

Springmvc和mybatis框架整合

  步骤二十九:在applicationContext.xml配置文件中添加如下的代码。

Springmvc和mybatis框架整合

  步骤三十:在springmvc-servlet.xml配置文件中修改配置代码。将上面的代码替换成下面的代码

Springmvc和mybatis框架整合

  步骤三十一:修改TestController类,代码如下:

Springmvc和mybatis框架整合

  步骤三十二:修改PubService类,添加一个@Transactional注解:

Springmvc和mybatis框架整合

  步骤三十二:进行事务测试




6、SPRING框架_集成.ppt

讲义 START

集成框架:在项目中同时引入三个框架

Springmvc+Springcore+Mybatis

Oracle数据库

Bootstrap库


讲义 END

例子记录 START

package com.SSHC.bean;


import java.util.Date;


public class Userinfo {

    private Integer id;

    private String act;

    private String pwd;

    private Date birth;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getAct() {

return act;

}

public void setAct(String act) {

this.act = act;

}

public String getPwd() {

return pwd;

}

public void setPwd(String pwd) {

this.pwd = pwd;

}

public Date getBirth() {

return birth;

}

public void setBirth(Date birth) {

this.birth = birth;

}

}

package com.SSHC.controller;


import javax.annotation.Resource;


import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;


import com.SSHC.service.PubService;


@Controller

public class TestController {

@Resource

private PubService pubService;

//http://localhost:8080/SSM1/test

@RequestMapping("test")

    public String hello(){

pubService.testSv();

    return "test";

    }

}

package com.SSHC.dao;


import java.util.List;


import org.springframework.stereotype.Repository;


import com.SSHC.bean.Userinfo;

@Repository

public interface UserinfoDao {

    List<Userinfo> selectAll();

    Integer add(Userinfo u);

}




<?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">

<!-- namespace不能乱写,必须写成UserinfoDao接口的全路径 -->

<mapper namespace="com.SSHC.dao.UserinfoDao">

    <resultMap type="Userinfo" id="rmUserinfo">

        <id property="id" column="ID"/>

    <result property="act" column="ACT"/>

    <result property="pwd" column="PWD"/>

    <result property="birth" column="BIRTH"/>

    </resultMap> 

    <select id="selectAll" resultMap="rmUserinfo">

        select * from userinfo

    </select>  

    <!-- public Integer add(Userinfo u) -->

    <insert id="add" parameterType="Userinfo">

        insert into userinfo values

        (seq_userinfo.nextval,#{act},#{pwd},#{birth})

    </insert> 

</mapper>

package com.SSHC.service;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.SSHC.bean.Userinfo;

import com.SSHC.dao.UserinfoDao;

@Service

public class PubService {

//属性名就是接口名的首字母改成小写

@Resource

    private UserinfoDao userinfoDao;

    public void testSv(){

    List<Userinfo>list = userinfoDao.selectAll();

    for(Userinfo u : list) {

    System.out.println(u.getAct());

    }

    }

}

package com.SSHC.test;


import java.io.IOException;

import java.io.Reader;

import java.util.Date;

import java.util.List;


import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;


import com.SSHC.bean.Userinfo;

import com.SSHC.dao.UserinfoDao;


public class Test {


public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

        Reader reader = Resources.getResourceAsReader("mybatis.xml");

        SqlSessionFactory factory = 

        new SqlSessionFactoryBuilder().build(reader);

        SqlSession session = factory.openSession();

        UserinfoDao userinfoDao = 

        session.getMapper(UserinfoDao.class);

//        List<Userinfo>list = userinfoDao.selectAll();

//        for(Userinfo u : list) {

//        System.out.println(u.getAct());

//        }

        

        Userinfo user = new Userinfo();

        user.setAct("诗书画唱");

        user.setPwd("666666");

        user.setBirth(new Date());

        Integer count = userinfoDao.add(user);

        System.out.println(count);

        session.commit();

}


}

package com.SSHC.test;


import java.util.List;


import org.springframework.beans.factory.annotation.Autowired;


import com.SSHC.bean.Userinfo;

import com.SSHC.dao.UserinfoDao;


public class TestBean {

@Autowired

/*wired:有线的。

英 [ˈwaɪəd]美 [ˈwaɪərd]

adj.

联网的;利用计算机收发信息的;焦虑的;紧张的;

不安的;有线的;受毒品(或酒精)影响的;吸了毒的;喝醉了的

*/private UserinfoDao userinfoDao;

    public void say(){

    List<Userinfo>list = userinfoDao.selectAll();

    for(Userinfo u : list) {

    System.out.println(u.getAct());

    }

    }

}





package com.SSHC.test;


import java.io.IOException;


import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


import org.springframework.web.context.WebApplicationContext;

import org.springframework.web.context.support.WebApplicationContextUtils;


/**

 * Servlet implementation class TestServlet

 */

@WebServlet("/ts")

public class TestServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public TestServlet() {

        super();

        // TODO Auto-generated constructor stub

    }


/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

this.doPost(request, response);

}


/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

//获取spring容器

ServletContext sc = this.getServletContext();

WebApplicationContext wac = WebApplicationContextUtils

.getWebApplicationContext(sc);

TestBean tb = (TestBean) wac.getBean("tb");

tb.say();

}


}

oracle_drivername=oracle.jdbc.driver.OracleDriver

oracle_url=jdbc:oracle:thin:@localhost:1521:orcl

oracle_username=X

oracle_password=sshcPwd

log4j.rootLogger=DEBUG,Console

#Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=%d[%t] %-5p [%c] - %m%n

log4j.logger.java.sql.ResultSet=INFO

log4j.logger.org.apache=INFO

log4j.logger.java.sql.Connection=DEBUG

log4j.logger.java.sql.Statement=DEBUG

log4j.logger.java.sql.PreparedStatement=DEBUG


<?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>  

    <typeAliases>

    <!-- Aliases:别名[ˈeɪlɪæsɪz] 

    

configuration

英[kənˌfɪɡəˈreɪʃn]

美[kənˌfɪɡjəˈreɪʃn]

n. 布局; 结构; 【构造】; 

格局; 形状; (计算机的)配置

注:【】中的内容是我认为有目前我要知道的重要意思之一。-->

        <package name="com.SSHC.bean"/>

    </typeAliases>

</configuration>

<?xml version="1.0" encoding="UTF-8"?>

<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:mvc="http://www.springframework.org/schema/mvc"

    xmlns:tx="http://www.springframework.org/schema/tx"

    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-4.1.xsd

        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd

        http://www.springframework.org/schema/tx 

        http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">

    <bean id="tb" class="com.SSHC.test.TestBean"></bean>

    <!-- 引入db.properties文件 -->

    <bean id="propertyConfigurer" 

        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

        <property name="location" value="classpath:db.properties"/>

    </bean>

    <!--数据库连接池配置-->

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 

        destroy-method="close">  

        <property name="driverClassName" value="${oracle_drivername}"/>

        <property name="url" value="${oracle_url}"/>

        <property name="username" value="${oracle_username}"/>

        <property name="password" value="${oracle_password}"/>

    </bean>

    <!-- 创建sqlSessionFactory对象 -->

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

        <!-- 指定数据源 -->

        <property name="dataSource" ref="dataSource"/>

        <!-- 指定mybatis框架主配置文件的位置 -->

        <property name="configLocation" value="classpath:mybatis.xml"/>

        <!-- 自动扫描mapping.xml文件,**表示迭代查找 ,,也可在mybatis.xml中单独指定xml文件 -->

        <property name="mapperLocations" value="classpath:com/SSHC/dao/*.xml"/>

    </bean> 

    <!-- 自动扫描com/SSHC/dao下的所有dao接口,并实现这些接口,

                 可直接在程序中使用dao接口,不用再获取sqlsession对象 -->

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

        <!-- basePackage 属性是映射器接口文件的包路径。

                        你可以使用分号或逗号 作为分隔符设置多于一个的包路径-->

        <property name="basePackage" value="com/SSHC/dao"/>

        <!-- 因为会自动装配 SqlSessionFactory和SqlSessionTemplate

                        所以没有必要去指定SqlSessionFactory或 SqlSessionTemplate

                        因此可省略不配置;

                        但是,如果你使用了一个以上的 DataSource,那么自动装配可能会失效。

                        这种情况下,你可以使用sqlSessionFactoryBeanName或sqlSessionTemplateBeanName属性

                        来设置正确的 bean名称来使用 -->

         <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>

    </bean>

</beans>

<?xml version="1.0" encoding="UTF-8"?>

<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:mvc="http://www.springframework.org/schema/mvc"

    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-4.1.xsd

        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">                       

    <!-- 扫描@Controller注解 -->

    <context:component-scan base-package="com.SSHC.dao,com.SSHC.service,com.SSHC.controller"/>

    <!-- 默认注册RequestMappingHandlerMapping和RequestMappingHandlerAdapter类 -->

    <mvc:annotation-driven />

    <!-- jsp引用外部js,css等静态资源的解决方法(和上面的标签必须同时出现,否则无法访问url) -->

    <mvc:default-servlet-handler />

    <!-- 配置视图名称解析器 -->

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" 

            id="internalResourceViewResolver">

        <!-- 前缀 -->

        <!-- 将所有的jsp文件存放在/WEB-INF/my/目录下 -->

        <property name="prefix" value="/WEB-INF/" />

        <!-- 后缀 -->

        <property name="suffix" value=".jsp" />

        <!-- 优先级设定 -->

        <property name="order" value="10"></property>

    </bean>  

</beans>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%

    String path = request.getContextPath();

    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

    <head>

        <base hreff="<%=basePath%>">

        <title></title>

        <meta http-equiv="pragma" content="no-cache">

        <meta http-equiv="cache-control" content="no-cache">

        <meta http-equiv="expires" content="0">

        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

        <meta http-equiv="description" content="This is my page">

    </head>

    <body>

        <h1>测试成功</h1>

    </body>

</html>



<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <display-name>SSM1</display-name>

  <!-- springcore框架配置 -->

  <listener>

    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

  </listener>

  <!-- controller中文乱码处理,注意一点:要配置在所有过滤器的前面 -->

  <filter>

    <filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name>

    <url-pattern>/*</url-pattern>

  </filter-mapping>

  <!-- springmvc框架配置 -->

  <servlet>

      <servlet-name>springmvc</servlet-name>

      <servlet-class>

          org.springframework.web.servlet.DispatcherServlet

      </servlet-class>

      <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet-mapping>

      <servlet-name>springmvc</servlet-name>

      <url-pattern>/</url-pattern>

  </servlet-mapping>

  <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

    <welcome-file>index.jsp</welcome-file>

    <welcome-file>default.html</welcome-file>

    <welcome-file>default.htm</welcome-file>

    <welcome-file>default.jsp</welcome-file>

  </welcome-file-list>

</web-app>

http://localhost:8080/SSM1/test
例子记录的运行效果

例子记录的Oracle数据库部分:


 --drop table Userinfo                

create table Userinfo(

    id number primary key,

    act varchar2(30) not null,

   pwd varchar2(30) not null,

   birth date

);


--drop sequence seq_Userinfo

create sequence seq_Userinfo

start with 1       --起始值是1

increment by 1     --增长的值   

maxvalue 999999999 --序列号的最大值

minvalue 1         --序列号的最小值

nocycle            --是否循环

cache 10;          --预存



insert into Userinfo values(seq_Userinfo.nextval,'黑黑','pwd1',to_date('2020-06-06','yyyy-mm-dd'));

insert into Userinfo values(seq_Userinfo.nextval,'红红','pwd2',to_date('2020-06-07','yyyy-mm-dd'));

insert into Userinfo values(seq_Userinfo.nextval,'蓝蓝','pwd3',to_date('2020-06-08','yyyy-mm-dd'));


insert into Userinfo values(seq_Userinfo.nextval,'666','pwd4',to_date('2020-06-06','yyyy-mm-dd'));

insert into Userinfo values(seq_Userinfo.nextval,'999','pwd5',to_date('2020-06-10','yyyy-mm-dd'));

insert into Userinfo values(seq_Userinfo.nextval,'888','pwd6',to_date('2020-06-11','yyyy-mm-dd'));


insert into Userinfo values(seq_Userinfo.nextval,'诗书画唱','pwd4',to_date('2020-06-06','yyyy-mm-dd'));

insert into Userinfo values(seq_Userinfo.nextval,'三连','pwd5',to_date('2020-06-10','yyyy-mm-dd'));

insert into Userinfo values(seq_Userinfo.nextval,'关注','pwd6',to_date('2020-06-11','yyyy-mm-dd'));

insert into Userinfo values(seq_Userinfo.nextval,'诗书画唱1','pwd4',to_date('2020-06-06','yyyy-mm-dd'));

insert into Userinfo values(seq_Userinfo.nextval,'诗书画唱2','pwd4',to_date('2020-06-06','yyyy-mm-dd'));

insert into Userinfo values(seq_Userinfo.nextval,'诗书画唱3','pwd4',to_date('2020-06-06','yyyy-mm-dd'));

insert into Userinfo values(seq_Userinfo.nextval,'诗书画唱4','pwd4',to_date('2020-06-06','yyyy-mm-dd'));

insert into Userinfo values(seq_Userinfo.nextval,'诗书画唱5','pwd4',to_date('2020-06-06','yyyy-mm-dd'));

--select * from Userinfo 

运行项目的方法:



例子记录 END





SSM框架简介,PPT,查询功能,dbcp数据库连接池,interface接口,service【诗书画唱】的评论 (共 条)

分享到微博请遵守国家法律