精华内容
下载资源
问答
  • SSM框架写的一个增删改查,适合初学者看看,SSM框架写的一个增删改查,适合初学者看看,SSM框架写的一个增删改查,适合初学者看看,SSM框架写的一个增删改查,适合初学者看看,
  • 使用SSM框架实现增删改查等功能,包括数据库文件。hhh
  • 基于SSM框架实现增删改查功能的一个小小系统,你可以下载。如果你没有积分的话,你可以关注码上Java公众号 ,后台回复:crud 即可获取源码文件
  • SSM(Spring+SpringMVC+Mybatis)框架使用SSM框架搭建Web服务器实现登录功能,这是一个很简单的demo
  • 这还是刚开始学习ssm框架技术的时候做的半成品,里面只有增删改查登录注册等功能;其中增删改查部分页面的是bootstarp模板,数据交互的是ajax;登录注册就比较简单,没有css样式,数据提交的就是普通的提交...
  • ssm框架登录增删改查

    2018-09-27 10:43:46
    该项目在ssm框架基础上实现了通过用户名、密码登录,然后进入用户管理界面进行增删改查
  • 主要介绍了Java中SSM框架实现增删改查功能代码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 一套基于SpringBoot+SSM框架增删改查模板。适合新手学习SSM
  • 实现一个留言板中留言的增删改查 ,分页,模糊查询。基于spring+springmvc+mybatis框架。前端使用jquery和bootstrap。数据库使用mysql。
  • JAVA SM框架增删改查 带分页 完整项目 适合练手 扩展 以及快速入门 送给有需要的小伙伴
  • 使用maven仓库搭建最基本的增删改查ssm框架
  • 这是一个用ssm框架写的有增删改查、登录注册、文件上传、拦截器等这些功能的小项目,对于初学ssm的朋友来说是非常好的资源
  • 本代码为ssm框架(spring+springmvc+mybatis),实现数据库的增删改查功能!
  • 基于https://blog.csdn.net/khxu666/article/details/79851070#commentBox,链接中,实现代码。
  • 基于ssm框架组合的增删改查功能ssm框架组合之前已经搭建完成了,下面基于该框架组合实现增删改查的功能,首先创建一个数据库和一张表:CREATE DATABASE `ssmteam` /*!40100 DEFAULT CHARACTER SET utf8 */;创建t_...

    基于ssm框架组合的增删改查功能

    ssm框架组合之前已经搭建完成了,下面基于该框架组合实现增删改查的功能,首先创建一个数据库和一张表:

    CREATE DATABASE `ssmteam` /*!40100 DEFAULT CHARACTER SET utf8 */;

    创建t_user表:

    CREATE TABLE `t_user` (

    `id` int(11) NOT NULL AUTO_INCREMENT,

    `name` varchar(45) DEFAULT NULL,

    `phone` varchar(20) DEFAULT NULL,

    `address` varchar(45) DEFAULT NULL,

    `birthday` date DEFAULT NULL,

    PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

    创建User类:

    package com.monkey1024.bean;

    import org.springframework.format.annotation.DateTimeFormat;

    import java.io.Serializable;

    import java.time.LocalDate;

    public class User implements Serializable{

    private static final long serialVersionUID = 1L;

    private int id;

    private String name;

    private String phone;

    private String address;

    @DateTimeFormat(pattern = "yyyy-MM-dd")

    private LocalDate birthday;

    public User(){}

    public User(String name, String phone, String address, LocalDate birthday) {

    this.name = name;

    this.phone = phone;

    this.address = address;

    this.birthday = birthday;

    }

    public int getId() {

    return id;

    }

    public void setId(int id) {

    this.id = id;

    }

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    public String getPhone() {

    return phone;

    }

    public void setPhone(String phone) {

    this.phone = phone;

    }

    public String getAddress() {

    return address;

    }

    public void setAddress(String address) {

    this.address = address;

    }

    public LocalDate getBirthday() {

    return birthday;

    }

    public void setBirthday(LocalDate birthday) {

    this.birthday = birthday;

    }

    }

    创建UserDao.xml的mybatis的mapper文件:

    /p>

    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

    INSERT INTO t_user(name,phone,address,birthday) VALUES (#{name},#{phone},#{address},#{birthday})

    SELECT @@identity

    DELETE FROM t_user where id=#{id}

    UPDATE t_user set name=#{name},phone=#{phone},address=#{address},birthday=#{birthday} where id=#{id}

    SELECT id,name,phone,address,birthday FROM t_user

    SELECT id,name,phone,address,birthday FROM t_user where id=#{id}

    创建UserDao接口,注意名称要跟上面的mapper名称一致:

    package com.monkey1024.dao;

    import com.monkey1024.bean.User;

    import java.util.List;

    public interface UserDao {

    void addUser(User user);

    void updateUser(User user);

    List selectUsers();

    User selectUserById(int id);

    void deleteUser(int id);

    }

    创建UserService接口和实现类:

    package com.monkey1024.service;

    import com.monkey1024.bean.User;

    import java.util.List;

    public interface UserService {

    void addUser(User user) throws Exception;

    void updateUser(User user);

    List selectUsers();

    User selectUserById(int id);

    void deleteUser(int id) throws Exception;

    }

    实现类:

    package com.monkey1024.service.impl;

    import com.monkey1024.bean.User;

    import com.monkey1024.dao.UserDao;

    import com.monkey1024.service.UserService;

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

    import org.springframework.stereotype.Service;

    import org.springframework.transaction.annotation.Propagation;

    import org.springframework.transaction.annotation.Transactional;

    import java.util.List;

    @Service

    @Transactional

    public class UserServiceImpl implements UserService {

    @Autowired

    private UserDao userDao;

    @Override

    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = NullPointerException.class)

    public void addUser(User user) throws Exception {

    userDao.addUser(user);

    }

    @Override

    public void updateUser(User user) {

    userDao.updateUser(user);

    throw new RuntimeException();

    }

    @Override

    public List selectUsers() {

    return userDao.selectUsers();

    }

    @Override

    public User selectUserById(int id) {

    return userDao.selectUserById(id);

    }

    @Override

    public void deleteUser(int id){

    userDao.deleteUser(id);

    throw new RuntimeException();

    }

    }

    创建controller类,使用restful风格:

    package com.monkey1024.controller;

    import com.alibaba.fastjson.JSON;

    import com.monkey1024.bean.User;

    import com.monkey1024.service.UserService;

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

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

    import java.util.List;

    @RestController

    public class UserController {

    @Autowired

    private UserService userService;

    @GetMapping("/users")

    public String selectUsers(){

    List users = userService.selectUsers();

    return JSON.toJSONString(users);

    }

    @GetMapping("/users/{id}")

    public String selectUserById(@PathVariable int id) {

    User user = userService.selectUserById(id);

    return JSON.toJSONString(user);

    }

    @PostMapping("/users")

    public String addUser(@RequestBody User user) {

    try {

    userService.addUser(user);

    return JSON.toJSONString("success");

    } catch (Exception e) {

    e.printStackTrace();

    return JSON.toJSONString("fail");

    }

    }

    @PutMapping("/users/{id}")

    public String updateUser(@PathVariable int id, @RequestBody User user) {

    try {

    user.setId(id);

    userService.updateUser(user);

    return JSON.toJSONString("success");

    } catch (Exception e) {

    e.printStackTrace();

    return JSON.toJSONString("fail");

    }

    }

    @DeleteMapping("/users/{id}")

    public String deleteUser(@PathVariable int id) {

    try {

    userService.deleteUser(id);

    return JSON.toJSONString("success");

    } catch (Exception e) {

    e.printStackTrace();

    return JSON.toJSONString("fail");

    }

    }

    }

    至此,后台的内容就都已经完成了,在controller中基本上使用的是之前在spring mvc中的增删改查的例子,所以前台部分也使用spring mvc中的例子。

    前台部分的内容参考:http://www.monkey1024.com/framework/1322

    展开全文
  • 安装即可运行的ssm和maven框架使用,项目采取基本的ssm框架和maven配合使用的管理系统
  • 新闻和对新闻的评论的删改差
  • ssm单表增删改查

    2018-05-04 15:06:43
    ssm 单表增删改查 ssm 单表增删改查 ssm 单表增删改查
  • spring+springMVC+Mybatis实现学生管理系统增删改查,数据库中有两张表:student学生和class班级表。使用Myabtis逆向生成以及分页插件,以及批量操作,前端使用bootstrap框架搭建。
  • Java整合SSM框架实现用户信息的和批量删除的应用实例
  • SSM框架实现完整的增删改查,提供初学者参考
  • SSM框架员工增删改查
  • IDEA,SSM框架写的员工增删改查 功能点• 1、分页• 2、数据校验• jquery前端校验+JSR303后端校验• 3、ajax• 4、Rest风格的URI;使用HTTP协议请求方式的动词,来表示对资源的操作(GET(查询),POST(新增),...
  • 基于SSM框架增删改查

    千次阅读 多人点赞 2019-12-16 19:33:13
    SSM整合开发是目前企业流行使用框架整合方案,这篇博客给出了实现逻辑以及源码

    写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。

    这博客是对自己学习的一点点总结及记录,如果您对 Java算法 感兴趣,可以关注我的动态,我们一起学习。

    用知识改变命运,让我们的家人过上更好的生活

    源码地址: https://github.com/zhangxycg/ssm_crud

    如要查看源码,请点击我

    视频地址: https://www.bilibili.com/video/av21045215

    尚硅谷Java视频教程

    一、使用的技术

        基础框架: ssm(SpringMVC + Spring + MyBatis)
        前端框架: Bootstrap
        数据库: MySQL
        项目的依赖管理: Maven
        分页: pagehelper
        逆向工程: MyBatis Generator
    

    二、环境的搭建

    1. 创建一个maven工程

    2. 在pom文件中引入项目依赖的jar包
      • spring
      • springmvc
      • mybatis
      • 数据库连接池(c3p0)
      • mysql驱动包
      • 其他(jstl,servlet-api,junit)

    3. 引入bootstrap前端框架

    4. 编写ssm整合的关键配置文件
      web.xml,spring,springmvc,mybatis,使用mybatis的逆向工程生成对应的 pojo 以及 mapper

    5. 测试mapper

    项目使用的表结构

    部门表

    CREATE TABLE `tbl_dept` (
      `dept_id` int(11) NOT NULL AUTO_INCREMENT,
      `dept_name` varchar(255) NOT NULL,
      PRIMARY KEY (`dept_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
    

    员工表

    CREATE TABLE `tbl_emp` (
      `emp_id` int(11) NOT NULL AUTO_INCREMENT,
      `emp_name` varchar(255) NOT NULL,
      `gender` char(1) DEFAULT NULL,
      `email` varchar(255) DEFAULT NULL,
      `d_id` int(11) DEFAULT NULL,
      PRIMARY KEY (`emp_id`),
      KEY `fk_emp_dept` (`d_id`),
      CONSTRAINT `fk_emp_dept` FOREIGN KEY (`d_id`) REFERENCES `tbl_dept` (`dept_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2020 DEFAULT CHARSET=utf8;
    

    三、页面效果图

    在这里插入图片描述

    四、项目结构图

    在这里插入图片描述

    五、功能及其实现逻辑

    1. 查询功能

    1. 在浏览器访问 index.jsp 页面
    2. index.jsp 页面发出查询员工列表的请求
    3. 后台 EmployeeController 接收前台发过来的请求,查出员工数据
    4. 来到 list.jsp 页面进行展示查询出的数据
    5. pageHelper 分页插件完成分页查询功能

    2. 新增功能

    在这里插入图片描述

    1. 在 index.jsp 页面点击 “ 新增 ” 按钮
    2. 弹出员工新增的对话框
    3. 然后去数据库查询部门列表,显示在对话框中
    4. 用户输入数据,并进行校验
    5. jquery前端校验,ajax用户名重复校验,重要数据(后端校验使用了JSR303);
    6. 数据填写正确,点击保存按钮

    3. 修改功能

    在这里插入图片描述

    1. 在页面点击 “编辑” 按钮
    2. 弹出用户修改的模态框
    3. 修改数据(用户名无法修改)
    4. 修改完成,点击 “更新 ” 按钮,完成用户修改

    4. 删除功能

    在这里插入图片描述

    1. 单个删除
      点击删除按钮,弹出提示信息,点击确定。将会删除数据
    2. 批量删除
      勾选员工姓名前的选择框,可以实现批量删除

    六、 踩坑

    第一次踩坑连接不上数据库 ,报错信息如下

    java.sql.SQLException: The server time zone value '?й???????' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
    	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
    	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
    	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
    	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
    	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
    	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)
    	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)
    	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455)
    	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
    	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
    	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175)
    	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220)
    	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206)
    	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203)
    	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138)
    	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125)
    	at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44)
    	at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1870)
    	at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)
    Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value '?й???????' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
    	at sun.reflect.GeneratedConstructorAccessor45.newInstance(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
    	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85)
    	at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:132)
    	at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2243)
    	at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2267)
    	at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1319)
    	at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:966)
    	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825)
    	... 12 more
    
    
    

    在这里插入图片描述
    报错原因是

    在使用mysql的jdbc驱动最新版(6.0+)版本时,数据库和系统时区差异引起的问题。

    解决办法:

    第一种是 降低驱动的版本

    第二种是:在jdbc连接的url后面加上 ?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&characterEncoding=UTF8

    在这里插入图片描述

    第二次踩坑字新增与修改完成以后,员工数据不按 id 进行升序排列

    解决办法:

    修改 EmployeeMapper.xml 中的查询语句,使员工数据按 员工 id 进行升序排列
    在这里插入图片描述

    <select id="selectByExampleWithDept" resultMap="WithDeptResultMap">
            select
            <if test="distinct">
                distinct
            </if>
            <include refid="WithDept_Column_List" />
            FROM tbl_emp e
            left join tbl_dept d on e.`d_id`=d.`dept_id`
            <if test="_parameter != null">
                <include refid="Example_Where_Clause" />
            </if>
            <!-- 员工数据根据id进行升序排列 -->
            order by e.`emp_id`  asc
        </select>
    
    展开全文
  • 使用SSM框架实现简单的增删改查

    千次阅读 2019-06-30 16:32:47
    实现增删改查的流程 要完成一个功能: 先实体类entity,定义对象的属性,(可以参照数据库中表的字段来设置,数据库的设计应该在所有编码开始之前)。 Mapper.xml(Mybatis),其中定义你的功能,对应要对...

    实现增删改查的流程

    要完成一个功能:

    先写实体类entity,定义对象的属性,(可以参照数据库中表的字段来设置,数据库的设计应该在所有编码开始之前)。
    写Mapper.xml(Mybatis),其中定义你的功能,对应要对数据库进行的那些操作,比如 insert、selectAll、selectByKey、delete、update等。
    写Mapper.java,将Mapper.xml中的操作按照id映射成Java函数。
    写Service.java,为控制层提供服务,接受控制层的参数,完成相应的功能,并返回给控制层。
    写Controller.java,连接页面请求和服务层,获取页面请求的参数,通过自动装配,映射不同的URL到相应的处理函数,并获取参数,对参数进行处理,之后传给服务层。
    写JSP页面调用,请求哪些参数,需要获取什么数据。
    DataBase ===> Entity ===> Mapper.xml ===> Mapper.Java ===> Service.java ===> Controller.java ===> Jsp.

    准备条件

    新建Maven项目,项目结构如图所示在这里插入图片描述
    在新建项目之前,先设计好数据库
    例如:
    在这里插入图片描述
    新建Maven项目

    配置pom.xml文件

    如下:

    `<?xml version="1.0" encoding="UTF-8"?>
    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.zhongruan</groupId>
      <artifactId>ssm1</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>war</packaging>
    
      <name>ssm1 Maven Webapp</name>
      <!-- FIXME change it to the project's website -->
      <url>http://www.example.com</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <spring.version>5.0.2.RELEASE</spring.version>
        <!-- mybatis版本号 -->
        <mybatis.version>3.2.6</mybatis.version>
        <!-- log4j日志文件管理包版本 -->
        <slf4j.version>1.7.7</slf4j.version>
        <log4j.version>1.2.17</log4j.version>
        <c3p0.version>0.9.5.2</c3p0.version>
        <taglibs.version>1.1.2</taglibs.version>
      </properties>
    
        <dependencies>
          <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
          <!-- spring核心包 -->
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
          </dependency>
    
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
          </dependency>
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-oxm</artifactId>
            <version>${spring.version}</version>
          </dependency>
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
          </dependency>
    
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
          </dependency>
    
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
          </dependency>
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
          </dependency>
    
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.version}</version>
          </dependency>
    
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
          </dependency>
          <!-- mybatis核心包 -->
          <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${mybatis.version}</version>
          </dependency>
          <!-- mybatis/spring包 -->
          <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.2.2</version>
          </dependency>
          <!-- 导入java ee jar 包 -->
          <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
          </dependency>
    
          <!-- 导入Mysql数据库链接jar包 -->
          <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.30</version>
          </dependency>
          <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
          <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.2.2</version>
          </dependency>
          <!-- JSTL标签类 -->
          <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
          </dependency>
          <!-- 日志文件管理包 -->
          <!-- log start -->
          <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
          </dependency>
    
    
          <!-- 数据连接池 -->
          <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>${c3p0.version}</version>
          </dependency>
    
          <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>${taglibs.version}</version>
          </dependency>
    
          <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
          </dependency>
          <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j.version}</version>
          </dependency>
    
          <!-- 导入servlet-api/jsp -->
          <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
          </dependency>
          <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
          <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.1</version>
            <scope>provided</scope>
          </dependency>
    
        </dependencies>
    
    
      <build>
        <finalName>ssm1</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
          <plugins>
            <plugin>
              <artifactId>maven-clean-plugin</artifactId>
              <version>3.1.0</version>
            </plugin>
            <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
            <plugin>
              <artifactId>maven-resources-plugin</artifactId>
              <version>3.0.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.8.0</version>
            </plugin>
            <plugin>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>2.22.1</version>
            </plugin>
            <plugin>
              <artifactId>maven-war-plugin</artifactId>
              <version>3.2.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-install-plugin</artifactId>
              <version>2.5.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-deploy-plugin</artifactId>
              <version>2.8.2</version>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </project>
    

    等待自动下载jar包

    1、建立实体类

    package com.ssm1.bean;
    
    public class UserInfo {
        private int id;
        private String username;
        private String password;
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        @Override
        public String toString() {
            return "UserInfo{" +
                    "id=" + id +
                    ", username='" + username + '\'' +
                    ", password='" + password + '\'' +
                    '}';
        }
    }
    

    2、创建Dao接口

    package com.ssm1.dao;
    
    import com.ssm1.bean.UserInfo;
    
    import java.util.List;
    
    public interface IUserDao {
        public List<UserInfo> findAll();
        public int addUser(UserInfo userInfo);
        public int updateUser(UserInfo userInfo);
        public  UserInfo queryById(int id);
        public int deleteUserById(int id);
    }
    

    3、在mapper.xml文件中实现接口

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.odtd/mybatis-3-mapper.dtd" >
    <mapper namespace="com.ssm1.dao.IUserDao" >
    
        <select id="findAll" resultType="com.ssm1.bean.UserInfo">
        select * FROM userInfo;
    </select>
        <insert id="addUser" parameterType="com.ssm1.bean.UserInfo">
            INSERT INTO userinfo(id,username,password) VALUE (#{id},#{username}, #{password})
        </insert>
        <update id="updateUser" parameterType="com.ssm1.bean.UserInfo">
        UPDATE userinfo
        SET id = #{id},username = #{username}, password= #{password}
        WHERE  id = #{id}
    </update>
        <select id="queryById" resultType="com.ssm1.bean.UserInfo" parameterType="int">
            SELECT id,username,password
            FROM paper
            WHERE id=#{id}
        </select>
        <delete id="deleteUserById" parameterType="int">
            DELETE FROM userinfo WHERE id=#{id}
        </delete>
    
            </mapper>
    

    4、配置文件

    applicationContext.xml

    <?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:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
    		http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
    		http://www.springframework.org/schema/context
    		http://www.springframework.org/schema/context/spring-context-4.3.xsd
    		http://www.springframework.org/schema/aop
    		http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
    		http://www.springframework.org/schema/tx
    		http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
        <!-- 1.配置数据库相关参数properties的属性:${url} -->
        <context:property-placeholder location="classpath:db.properties"/>
    
        <!-- 2.配置数据源 -->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="${jdbc.driver}"/>
            <property name="jdbcUrl" value="${jdbc.url}"/>
            <property name="user" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
            <property name="maxPoolSize" value="30"/>
            <property name="minPoolSize" value="2"/>
        </bean>
    
        <!-- 3.配置SqlSessionFactory对象 -->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <!-- 注入数据库连接池 -->
            <property name="dataSource" ref="dataSource"/>
            <!-- 扫描bean包 使用别名 -->
            <property name="typeAliasesPackage" value="com.ssm1.bean"></property>
    
            <!--配置加载映射文件 UserMapper.xml-->
            <property name="mapperLocations" value="classpath:mapper/*.xml"/>
    
        </bean>
    
        <!-- 自动生成dao,mapper-->
        <!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <!-- 给出需要扫描Dao接口包 -->
            <property name="basePackage" value="com.ssm1.dao"/>
            <!-- 注入sqlSessionFactory -->
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        </bean>
    
    
    
        <!--自动扫描-->
        <context:component-scan base-package="com.ssm1"/>
    
    
        <!-- 配置事务-->
        <!-- 5.配置事务管理器 -->
        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource"/>
        </bean>
        <!-- 6.开启事务注解-->
        <tx:annotation-driven></tx:annotation-driven>
    
    </beans>
    

    db.properties

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/idea?useSSL=true&characterEncoding=utf-8
    jdbc.username=root
    jdbc.password=pass1234
    

    log4j.properties

    # Global logging configuration
    log4j.rootLogger=DEBUG, stdout
    # Console output...
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
    

    spring-mvc.xml

    <?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:mvc="http://www.springframework.org/schema/mvc"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
          http://www.springframework.org/schema/mvc
          http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-4.3.xsd
          http://www.springframework.org/schema/aop
          http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
          http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
    
        <!-- 1.注解扫描位置-->
        <context:component-scan base-package="com.ssm1.controller" />
    
        <!-- 2.配置映射处理和适配器-->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
    
        <!-- 3.视图的解析器-->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/jsp/" />
            <property name="suffix" value=".jsp" />
        </bean>
    </beans>
    

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
    
      <!-- 配置加载类路径的配置文件 -->
      <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:applicationContext.xml</param-value>
      </context-param>
    
      <!-- 配置监听器 -->
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
      </listener>
    
      <!-- 解决中文乱码过滤器 -->
      <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>
    
      <!-- 前端控制器(加载classpath:spring-mvc.xml 服务器启动创建servlet) -->
      <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 配置初始化参数,创建完DispatcherServlet对象,加载springmvc.xml配置文件 -->
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <!-- 服务器启动的时候,让DispatcherServlet对象创建 -->
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    
    </web-app>
    

    5、service层

    定义接口IUserService

    package com.ssm1.service;
    
    import com.ssm1.bean.UserInfo;
    
    import java.util.List;
    
    public interface IUserService {
        public List<UserInfo> findAll();
        public int addUser(UserInfo userInfo);
        public int updateUser(UserInfo userInfo);
        public UserInfo queryById(int id);
        public int deleteUserById(int id);
    }
    
    

    实现接口

    import com.ssm1.dao.IUserDao;
    import com.ssm1.service.IUserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    @Service
    public class UsrServiceImpl  implements IUserService {
        @Autowired
        IUserDao userDao;
    
        @Override
        public List<UserInfo> findAll() {
            return userDao.findAll();
        }
    
        @Override
        public int addUser(UserInfo userInfo) {
            return userDao.addUser(userInfo);
        }
    
        @Override
        public int updateUser(UserInfo userInfo) {
            return  userDao.updateUser(userInfo);
        }
    
        @Override
        public UserInfo queryById(int id) {
            return userDao.queryById(id);
        }
    
        @Override
        public int deleteUserById(int id) {
           return userDao.deleteUserById(id);
        }
    
    }
    
    
    

    6、实现控制层

    实现类Userconntroller

    package com.ssm1.controller;
    
    import com.ssm1.bean.UserInfo;
    import com.ssm1.service.IUserService;
    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 javax.enterprise.inject.Model;
    import java.util.List;
    @Controller
    @RequestMapping("user")
    public class Usercontroller {
        @Autowired
        private IUserService userService;
        @RequestMapping("/findAll.do")
        public ModelAndView findAll(){
            List<UserInfo> userInfos =userService.findAll();
            ModelAndView mv = new ModelAndView();
            mv.addObject("ui",userInfos);
            mv.setViewName("allUser");
            return mv;
        }
        @RequestMapping("/toAddUser.do")
        public ModelAndView toAddUser(){
            ModelAndView mv = new ModelAndView();
            mv.setViewName("addUser");//设置跳转的页面
            return mv;
        }
        @RequestMapping("/toUpdate.do")
        public ModelAndView toUpdate(int id){
            ModelAndView mv = new ModelAndView();
            mv.addObject("updateid",id);
            mv.setViewName("updateUser");//设置跳转的页面
            return mv;
        }
        @RequestMapping("/save.do")
        public String AddUser(UserInfo userInfo){
            userService.addUser(userInfo);
            return "redirect:/user/findAll.do";
        }
    
        @RequestMapping("/update.do")
        public String UpdateUser(UserInfo userInfo){
           // UserInfo User1=new UserInfo();
         // User1= userService.queryById(userInfo.getId());
            userService.updateUser(userInfo);
            //model.addAttribute("paper", paper);
            return "redirect:/user/findAll.do";
        }
        @RequestMapping("/delete.do")
        public String DeleteUserById(int id){
            userService.deleteUserById(id);
            return "redirect:/user/findAll.do";
        }
    }
    

    7、添加jsp页面

    8、配置tomcat,并启动

    Run–editconfiguratiion–添加tomcat–选择本地local–在这里插入图片描述
    选择tomcat
    在Deployment下添加,如图所示
    在这里插入图片描述
    最后,点击Apply,点击ok,启动tomcat
    页面如图所示:
    在这里插入图片描述
    完成!

    展开全文
  • 简单实用SSM框架基础增删改查分页
  • SSM框架简单增删改查加上传加上数据库
  • ssm框架做的增删改查demo带数据库完美demo 开发环境:jdk1.7 tomcat7.0 mysql 开发工具:eclipse 项目名称: ssm框架增删改查

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,823
精华内容 4,329
关键字:

用ssm框架写增删改查