------Mybatis-Spring-SpringMVC框架整合示例-----

mybatis SQL映射文件

<?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.bdit.dao.IUserDao">
<!--查询所有的操作-->
<select id="findAll" resultType="com.bdit.model.User">
select * from user
</select> <!--根据id去查询-->
<select id="findByid" resultType="com.bdit.model.User" parameterType="int">
select * from user where id=#{id}
</select> <!--保存信息-->
<insert id="insert" parameterType="com.bdit.model.User">
insert into user(userName,gender,address)values(#{userName},#{gender},#{address})
</insert> <!--修改信息-->
<update id="update" parameterType="com.bdit.model.User">
update user set userName=#{userName},gender=#{gender},address=#{address} where id=#{id}
</update> <!--删除信息:根据用户的id去删除-->
<delete id="delete" parameterType="com.bdit.model.User">
delete from user where id=#{id}
</delete> <!-- &lt;!&ndash;模糊查询&ndash;&gt;-->
<!-- <select id="findName" parameterType="java.lang.String" resultType="com.model.User">-->
<!-- select * from user where username like '%${value}%'-->
<!-- </select>--> <!-- &lt;!&ndash;使用聚合函数查询表中的总记录数&ndash;&gt;-->
<!-- <select id="totalcont" resultType="java.lang.Integer">-->
<!-- select count(id) from user-->
<!-- </select>--> <!-- <select id="finaAlll" resultMap="Map">-->
<!-- select * from user-->
<!-- </select>-->
<!-- <resultMap id="Map" type="com.model.VOUser">-->
<!-- <id column="id" property="stuId"/>-->
<!-- <result column="username" property="username"/>-->
<!-- <result column="age" property="stuage"/>-->
<!-- <result column="address" property="stuaddress"/>-->
<!-- </resultMap>-->
</mapper>

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> <typeAliases>
<!-- <typeAlias type="User" alias="User"/>-->
<!--如果有多个,则批量定义,扫描整个包下的类,别名为类名,(首字母大小写都可以)-->
<package name="com.bdit.model"/>
</typeAliases> <!--配置Mybatis的环境-->
<environments default="mysql">
<!--配置mysql的环境-->
<environment id="mysql">
<!--配置事物的类型-->
<transactionManager type="JDBC"/>
<!--配置连接数据库的信息,用的数据源是(连接池)-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ab_wzy?serverTimezone=GMT"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!--告知mybatis映射文件的位置-->
<!--SQL映射文件mybatis是不认识的,所有需要告知-->
<mappers>
<mapper resource="com/bdit/dao/IUserDao.xml"/>
<!--基于注解的方式-->
<!--<mapper class="com.bdit.dao.IUserDao"/>--> <!--注册指定包下的所有 mapper接口:也就是所谓的DAO接口-->
<!-- <package name="com.bdit.dao"/>-->
</mappers>
</configuration>

Spring【配置文件】

<?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:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.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
">
<!--引入外部属性文件-->
<context:property-placeholder location="classpath:ab.properties"></context:property-placeholder>
<!--自动扫描指定的包-->
<context:component-scan base-package="com.bdit">
<!--Spring就不在扫描@Contrellor的类-->
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!--开启注解事务的支持-->
<tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven> <!--阿里的数据源-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${driverClassName}"/>
<property name="url" value="${url}"/>
<property name="username" value="${user}"/>
<property name="password" value="${password}"/>
</bean> <!--配置mybatis的Session工场-->
<bean id="sessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--注入数据源-->
<property name="dataSource" ref="dataSource"/>
<!--加载 mybatis 的配置文件 SqlMapConfig.xml-->
<property name="configLocation" value="classpath:SqlMapConfig.xml "/>
</bean> <!--配置自动扫描所有的 Mapper 接口和文件-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.bdit.dao"/>
</bean> <!--配置Spring的事物管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!--事务通知的配置和事务管理器对象的引用-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!--<tx:attributes>用来配置事务的属性标签-->
<tx:attributes>
<!--<tx:method>用来指定方法的名称-->
<tx:method name="findAll*" read-only="true" isolation="REPEATABLE_READ" propagation="SUPPORTS"/>
<tx:method name="findByid*" read-only="true" isolation="REPEATABLE_READ" propagation="SUPPORTS"/>
<tx:method name="insert*" read-only="false" isolation="REPEATABLE_READ" propagation="REQUIRED"/>
<tx:method name="update*" read-only="false" isolation="REPEATABLE_READ" propagation="REQUIRED"/>
<tx:method name="delete*" read-only="false" isolation="REPEATABLE_READ" propagation="REQUIRED"/>
<!--如果这样配置的话针对整个Dao接口的实现类都有效,我们一般分来配置-->
<tx:method name="*" read-only="false" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<!-- 配置AOP切面-->
<aop:config>
<!-- 配置AOP切入点-->
<aop:pointcut id="txPointcut" expression="execution(* com.bdit.Service.impl.*.*(..))"/>
<!--配置事务的通知和切入点的关联关系-->
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>
</aop:config> </beans>

SpringMVC【配置文件】

<?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
https://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/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
">
<!--配置 springmvc 要扫描的包-->
<context:component-scan base-package="com.bdit">
<!--指定扫描包的规则,SpringMVC只扫描包含@Controller的类-->
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!--自动加载处理器映射器、处理器适配器-->
<!--引用自定义的类型转换器-->
<mvc:annotation-driven> </mvc:annotation-driven> <!--配置视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--视图所在的位置,也就是前缀-->
<property name="prefix" value="/WEB-INF/pags/"/>
<!--所使用视图技术的后缀名-->
<property name="suffix" value=".jsp"/>
</bean> <!--在 springmvc 中设置,静态资源不要过滤
location 表示路径,mapping 表示文件或过滤规则,**表示该目录下的文件以及子文件夹-->
<mvc:resources mapping="/css/**" location="/css/"/>
<mvc:resources mapping="/js/**" location="/js/"/>
<mvc:resources mapping="/images/**" location="/images/"/>
</beans>

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的配置文件-->
<!--手动指定Spring的配置文件-->
<!--相当于配置了一个上下文的初始化参数-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:Spring.xml</param-value>
</context-param>
<!--配置Spring提供的监听器,用于启动服务时加载Spirng的配置文件,
该监听器只能加载/WEB-INF/目录中名称为applicationContext.xml中的文件-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <!--配置 Spring mvc 框架的编码过滤器-->
<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>
<!--启动过滤器-->
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!--配置过滤器的映射路径-->
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--HiddentHttpMethodFilter过滤器来实现RESTFul 风格-->
<filter>
<filter-name>hiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--配置 spring mvc 的核心控制器-->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--配置初始化参数,用于读取 springmvc 的配置文件-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:SpringMVC.xml</param-value>
</init-param>
<!--配置 servlet 实例创建的节点,应用加载时就创建-->
<load-on-startup>0</load-on-startup>
</servlet>
<!--配置映射的路径-->
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

ab.properties属性文件

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/ab_wzy?serverTimezone=GMT
user=root
password=root

准备实体类

package com.bdit.model;

import java.io.Serializable;

public class User implements Serializable {
private static final long serialVersionUID = 5841583645389273544L;
private Integer id;
private String userName;
private String gender;
private String address;
public User(){ } public static long getSerialVersionUID() {
return serialVersionUID;
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getGender() {
return gender;
} public void setGender(String gender) {
this.gender = gender;
} public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} @Override
public String toString() {
return "User{" +
"id=" + id +
", userName='" + userName + '\'' +
", gender='" + gender + '\'' +
", address='" + address + '\'' +
'}';
}
}

准备实体类

package com.bdit.model;

import java.io.Serializable;

public class User implements Serializable {
private static final long serialVersionUID = 5841583645389273544L;
private Integer id;
private String userName;
private String gender;
private String address;
public User(){ } public static long getSerialVersionUID() {
return serialVersionUID;
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getGender() {
return gender;
} public void setGender(String gender) {
this.gender = gender;
} public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} @Override
public String toString() {
return "User{" +
"id=" + id +
", userName='" + userName + '\'' +
", gender='" + gender + '\'' +
", address='" + address + '\'' +
'}';
}
}

准备持久层DAO

import java.util.List;

//编写持久层Dao接口
public interface IUserDao { //查询所有的信息
public List<User> findAll();
//根据id去查询
public User findByid(Integer id);
//添加的方法
public int insert(User user);
//更新的方法
public int update(User user);
//删除的方法
public int delete(Integer id);
}

准备业务层接口和业务层的实现类

package com.bdit.Service;

import com.bdit.model.User;

import java.util.List;

//编写业务层接口
public interface IUserServiceDao{
//查询所有的信息
public List<User> findAll();
//根据id去查询
public User findByid(Integer id);
//添加的方法
public int insert(User user);
//更新的方法
public int update(User user);
//删除的方法
public int delete(Integer id);
}
实现类
package com.bdit.Service.impl; import com.bdit.Service.IUserServiceDao;
import com.bdit.dao.IUserDao;
import com.bdit.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List; @Service
public class UserServiceimpl implements IUserServiceDao { @Autowired
private IUserDao userDao; public void setUserDao(IUserDao userDao) {
this.userDao = userDao;
} @Override
public List<User> findAll(){
return userDao.findAll();
} @Override
public User findByid(Integer id) {
return userDao.findByid(id);
} @Override
public int insert(User user) {
return userDao.insert(user);
} @Override
public int update(User user) {
return userDao.update(user);
} @Override
public int delete(Integer id) {
return userDao.delete(id);
}
}

准备控制器Controller

import com.bdit.Service.impl.UserServiceimpl;
import com.bdit.model.User;
import org.apache.ibatis.annotations.Delete;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; import java.util.List; //用户控制器
@Controller
@RequestMapping("/user")
public class UserController { @Autowired
private UserServiceimpl userService; @RequestMapping("/list") //查询用户信息的方法
public ModelAndView user(){
ModelAndView mav=new ModelAndView();
List<User>list=userService.findAll();
//指定响应的客户端
mav.addObject("list",list);
//指定要跳转的逻辑视图
mav.setViewName("list");
return mav;
}
//添加用户信息的方法 @RequestMapping("/insert")
public String insert(User user){
int i=userService.insert(user);
if(i>0){
return "forward:/WEB-INF/pags/success.jsp";
}else{
return "error";
}
} //编辑用户的信息
@RequestMapping("/edit/{id}")
public ModelAndView edit(@PathVariable("id")Integer id){
ModelAndView Mav=new ModelAndView();
User user=userService.findByid(id);
//指定响应的客户端
Mav.addObject("user",user);
Mav.setViewName("edit");
return Mav;
} //用户信息的修改页面
@RequestMapping("/update")
public String update(User user){
int i=userService.update(user);
if(i>0){
return "redirect:/user/list";
}else{
return "error";
}
}
//用户信息的修改页面
@RequestMapping("/delete/{id}")
public String delete(@PathVariable("id")Integer id){
int i=userService.delete(id);
if(i>0){
return "redirect:/user/list";
}else{
return "error";
}
}
}

准备前端页面

用户信息的添加页面

<%@page contentType="text/html; charset=utf-8" language="java" %>
<html>
<body>
<h2>Hello World 恭喜你SSM配置成功!</h2> <a href="user/list" style="color:green">查询用户的信息</a> <form action="user/insert" method="post">
用户名:<input type="text" name="userName"><br>
性别:<input type="radio" name="gender" value="男">男
<input type="radio" name="gender" value="女">女<br>
住址:<input type="text" name="address"><br>
<input type="submit" value="提交">
</form> </body>
</html>

用户信息的展示页面

<%--
Created by IntelliJ IDEA.
User: Lenovo-T410
Date: 2020/1/7
Time: 18:37
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>用户信息的查询页面</title>
</head>
<body>
<h2 style="color: green"align="center">用户信息的展示页面</h2>
<table width="100%" border="100%" style="background: blanchedalmond">
<tr align="center">
<th>用户ID</th>
<th>用户名</th>
<th>性别</th>
<th>住址</th>
<th>操作</th>
</tr>
<c:forEach items="${list}" var="user">
<tr align="center">
<td>
${user.id}
</td>
<td>
${user.userName}
</td>
<td>
${user.gender}
</td>
<td>
${user.address}
</td>
<td>
<a href="${pageContext.request.contextPath}/user/edit/${user.id}">编辑</a>
<a href="${pageContext.request.contextPath}/user/delete/${user.id}">删除</a>
</td>
</tr>
</c:forEach>
</table>
</body>
</html>

用户的编辑页面

<%--
Created by IntelliJ IDEA.
User: Lenovo-T410
Date: 2020/1/7
Time: 20:01
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>用户信息的编辑页面</title>
</head>
<body>
<h2>用户信息的编辑页面</h2> <form action="${pageContext.request.contextPath}/user/update" method="post">
用户名:<input type="text" name="userName" value=${user.userName}><br>
性别:
<c:if test="${user.gender=='男'}">
<input type="radio" name="gender" value="男" checked>男
<input type="radio" name="gender" value="女">女<br>
</c:if>
<c:if test="${user.gender=='女'}">
<input type="radio" name="gender" value="男" checked >男
<input type="radio" name="gender" value="女" checked >女<br>
</c:if> 住址:<input type="text" name="address" value="${user.address}"><br>
<input type="submit" value="修改">
<input type="hidden" name="id" value="${user.id}">
</form> </body>
</html>
来源:站长平台

JAVA--Mybatis-Spring-SpringMVC框架整合的更多相关文章

  1. myBatis+Spring+SpringMVC框架面试题整理

    myBatis+Spring+SpringMVC框架面试题整理(一) 2018年09月06日 13:36:01 新新许愿树 阅读数 14034更多 分类专栏: SSM   版权声明:本文为博主原创文章 ...

  2. Spring,Mybatis,Springmvc框架整合项目(第一部分)

    一.说在前面的话 本篇博文实现一个注册登录小项目,使用spring,mybatis,springmvc框架进行整合,我们创建的是一个maven工程,主要是方便jar包版本的管理.项目使用eclispe ...

  3. mybatis+spring+struts2框架整合

     近期公司要开发新的项目,要用struts2+mybatis+spring框架,所以学习了下,来自己的博客发表下,希望能给大家带来帮助!下边我把我的myschool开发的源代码以及数据库贴出来!  开 ...

  4. Spring,Mybatis,Springmvc框架整合项目(第二部分)

    一.创建数据库表 打开Navicat Premium,点击左上角连接,选择mysql   输入你的数据库用户名和密码信息,可以先点击下测试连接,如果显示连接成功,说明能连接到数据库,然后点击确定.如果 ...

  5. Spring,Mybatis,Springmvc框架整合项目(第三部分)

    一.静态资源不拦截 第二部分最后显示的几个页面其实都加载了css和js等文件,要不然不会显示的那么好看(假装好看吧),前面已经说了,我们在web.xml中配置了url的拦截形式是/,那么Dispatc ...

  6. 【SpringMVC学习04】Spring、MyBatis和SpringMVC的整合

    前两篇springmvc的文章中都没有和mybatis整合,都是使用静态数据来模拟的,但是springmvc开发不可能不整合mybatis,另外mybatis和spring的整合我之前学习mybati ...

  7. (转)SpringMVC学习(四)——Spring、MyBatis和SpringMVC的整合

    http://blog.csdn.net/yerenyuan_pku/article/details/72231763 之前我整合了Spring和MyBatis这两个框架,不会的可以看我的文章MyBa ...

  8. SpringMVC+Spring+Hibernate框架整合原理,作用及使用方法

    转自:https://blog.csdn.net/bieleyang/article/details/77862042 SSM框架是spring MVC ,spring和mybatis框架的整合,是标 ...

  9. 框架篇:Spring+SpringMVC+hibernate整合开发

    前言: 最近闲的蛋疼,搭个框架写成博客记录下来,拉通一下之前所学知识,顺带装一下逼. 话不多说,我们直接步入正题. 准备工作: 1/ IntelliJIDEA的安装配置:jdk/tomcat等..(本 ...

  10. springmvc框架(Spring SpringMVC, Hibernate整合)

    直接干货 model 考虑给用户展示什么.关注支撑业务的信息构成.构建成模型. control 调用业务逻辑产生合适的数据以及传递数据给视图用于呈献: view怎样对数据进行布局,以一种优美的方式展示 ...

随机推荐

  1. 长篇Essay写作凑字数的小技巧

    当一个留学党面对一篇5000字的essay,写一半之后却没法继续~这类的感觉是很多同学无法想象的!此时唯一的一个有效的方法:凑字数!但是essay写作怎么凑字数呢?如何写够5000字essay?下面我 ...

  2. 吴裕雄--天生自然C++语言学习笔记:C++ 信号处理

    信号是由操作系统传给进程的中断,会提早终止一个程序.在 UNIX.LINUX.Mac OS X 或 Windows 系统上,可以通过按 Ctrl+C 产生中断. 有些信号不能被程序捕获,但是下表所列信 ...

  3. 黑马oracle_day01:01.oracle体系结构

    01.oracle体系结构 02.oracle的基本操作 03.oracle的查询 04.oracle对象 05.oracle编程 01.oracle体系结构 开发环境:VMware® Worksta ...

  4. Neo4j--UNIQUE约束

    UNIQUE简介 和关系型数据库一样,对数据进行约束作用. 比如在某个属性上不能插入重复的节点. 比如属性的完整性约束. 创建UNIQUE约束 创建UNIQUE语法 CREATE CONSTRAINT ...

  5. mongodb replication set 主从切换

    今天被问到mongodb副本集主从切换的问题,然后发现没有相关命令的中文文档,这里翻译记录一下 rs.stepDown() rs.stepDown(stepDownSecs, secondaryCat ...

  6. oracle批量修改字段长度

    alter table 表名 modify (字段名1 字段类型1(长度1),字段名2 字段类型2(长度2)) alter table 表名 modify column_name varchar2(3 ...

  7. 【LeetCode】解数独

    做题之前先复习下[STL中的Tuple容器] 我们知道,在Python中,大家都知道tuple这个概念,是一个只读的元素容器,容器内的元素数据类型可以不同,而在CPP中大部分的容器只能储存相同数据类型 ...

  8. 十五、CI框架之自动加载数据库

    一.在config的autoload.php文件中,如果写入以下代码,那么在控制器中无需再次加载数据库了,相当于全局自动加载数据库了 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码 ...

  9. UVA_12697 满足条件的最短连续和 线段树维护

    好印象深刻的题,前天选拔赛给跪了.怪我这种关键题没敲出来. 题意很简单,给你一串无规则的数列,再给个m值,求出满足 数列和>=m的长度最小的连续子串...确实一开始卡住了,因为看数据肯定是nlo ...

  10. HDU 1226 超级密码(BFS) (还需研究)

    Time Limit:10000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Desc ...