ssm简单整合bootscrap的增删改查

原文出处:

https://blog.csdn.net/qq_3076499

开发环境:这个根据个人的喜欢,没有强制的。喜欢用什么版本就用什么版本。 Window 7 64; IntelliJ IDEA;Apache-Maven-3.3.9;Spring ;Mybatis;Springmvc;数据库:mysql

 

搭建ssm工程,也许刚开始你是非常模糊的,但如果你搭建10次,20次,50次以上,那么真的其实也都大同小异,也就那点知识。 
搭建的步骤:

1:首先pom.xml 加载jar包具体如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <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/maven-v4_0_0.xsd">
  3.   <modelVersion>4.0.0</modelVersion>
  4.   <packaging>war</packaging>
  5.   <name>ssm-crud2</name>
  6.   <groupId>com.demo</groupId>
  7.   <artifactId>ssm-crud2</artifactId>
  8.   <version>1.0-SNAPSHOT</version>
  9.   <properties>
  10.     <!-- 设置项目编码编码 -->
  11.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  12.     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  13.     <!-- spring版本号 -->
  14.     <spring.version>4.3.5.RELEASE</spring.version>
  15.     <!-- mybatis版本号 -->
  16.     <mybatis.version>3.4.1</mybatis.version>
  17.   </properties>
  18.   <dependencies>
  19.     <!-- java ee -->
  20.     <dependency>
  21.       <groupId>javax</groupId>
  22.       <artifactId>javaee-api</artifactId>
  23.       <version>7.0</version>
  24.     </dependency>
  25.     <!-- 单元测试 -->
  26.     <dependency>
  27.       <groupId>junit</groupId>
  28.       <artifactId>junit</artifactId>
  29.       <version>4.12</version>
  30.     </dependency>
  31.     <!-- 实现slf4j接口并整合 -->
  32.     <dependency>
  33.       <groupId>ch.qos.logback</groupId>
  34.       <artifactId>logback-classic</artifactId>
  35.       <version>1.2.2</version>
  36.     </dependency>
  37.     <!-- JSON -->
  38.     <dependency>
  39.       <groupId>com.fasterxml.jackson.core</groupId>
  40.       <artifactId>jackson-databind</artifactId>
  41.       <version>2.8.7</version>
  42.     </dependency>
  43.  
  44.     <!-- 数据库 -->
  45.     <dependency>
  46.       <groupId>mysql</groupId>
  47.       <artifactId>mysql-connector-java</artifactId>
  48.       <version>5.1.41</version>
  49.       <scope>runtime</scope>
  50.     </dependency>
  51.     <!-- 数据库连接池 -->
  52.     <dependency>
  53.       <groupId>com.mchange</groupId>
  54.       <artifactId>c3p0</artifactId>
  55.       <version>0.9.5.2</version>
  56.     </dependency>
  57.     <!-- MyBatis -->
  58.     <dependency>
  59.       <groupId>org.mybatis</groupId>
  60.       <artifactId>mybatis</artifactId>
  61.       <version>${mybatis.version}</version>
  62.     </dependency>
  63.     <!-- mybatis/spring整合包 -->
  64.     <dependency>
  65.       <groupId>org.mybatis</groupId>
  66.       <artifactId>mybatis-spring</artifactId>
  67.       <version>1.3.1</version>
  68.     </dependency>
  69.     <!-- Spring -->
  70.     <dependency>
  71.       <groupId>org.springframework</groupId>
  72.       <artifactId>spring-core</artifactId>
  73.       <version>${spring.version}</version>
  74.     </dependency>
  75.     <dependency>
  76.       <groupId>org.springframework</groupId>
  77.       <artifactId>spring-beans</artifactId>
  78.       <version>${spring.version}</version>
  79.     </dependency>
  80.     <dependency>
  81.       <groupId>org.springframework</groupId>
  82.       <artifactId>spring-context</artifactId>
  83.       <version>${spring.version}</version>
  84.     </dependency>
  85.     <dependency>
  86.       <groupId>org.springframework</groupId>
  87.       <artifactId>spring-jdbc</artifactId>
  88.       <version>${spring.version}</version>
  89.     </dependency>
  90.     <dependency>
  91.       <groupId>org.springframework</groupId>
  92.       <artifactId>spring-tx</artifactId>
  93.       <version>${spring.version}</version>
  94.     </dependency>
  95.     <dependency>
  96.       <groupId>org.springframework</groupId>
  97.       <artifactId>spring-web</artifactId>
  98.       <version>${spring.version}</version>
  99.     </dependency>
  100.     <dependency>
  101.       <groupId>org.springframework</groupId>
  102.       <artifactId>spring-webmvc</artifactId>
  103.       <version>${spring.version}</version>
  104.     </dependency>
  105.     <dependency>
  106.       <groupId>org.springframework</groupId>
  107.       <artifactId>spring-test</artifactId>
  108.       <version>${spring.version}</version>
  109.     </dependency>
  110.     <!-- https://mvnrepository.com/artifact/log4j/log4j -->
  111.     <dependency>
  112.       <groupId>log4j</groupId>
  113.       <artifactId>log4j</artifactId>
  114.       <version>1.2.17</version>
  115.     </dependency>
  116.  
  117.     <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
  118.     <dependency>
  119.       <groupId>javax.servlet</groupId>
  120.       <artifactId>jstl</artifactId>
  121.       <version>1.2</version>
  122.     </dependency>
  123.  
  124.     <!--spring整合shiro,这个是与shiro的整合,暂时在这里不起作用,但加上以后会用上-->
  125.     <dependency>
  126.       <groupId>org.apache.shiro</groupId>
  127.       <artifactId>shiro-core</artifactId>
  128.       <version>1.2.1</version>
  129.     </dependency>
  130.     <dependency>
  131.       <groupId>org.apache.shiro</groupId>
  132.       <artifactId>shiro-web</artifactId>
  133.       <version>1.2.1</version>
  134.     </dependency>
  135.     <dependency>
  136.       <groupId>org.apache.shiro</groupId>
  137.       <artifactId>shiro-ehcache</artifactId>
  138.       <version>1.2.1</version>
  139.     </dependency>
  140.     <dependency>
  141.       <groupId>org.apache.shiro</groupId>
  142.       <artifactId>shiro-spring</artifactId>
  143.       <version>1.2.1</version>
  144.     </dependency>
  145.     <dependency>
  146.       <groupId>org.apache.shiro</groupId>
  147.       <artifactId>shiro-all</artifactId>
  148.       <version>1.2.1</version>
  149.     </dependency>
  150.   </dependencies>
  151.  
  152. </project>
     

2: 配置:spring-mybatis.xml的整合配置代码如下:注:这个文件整合了jdbc mybatis service一起整合了,不管怎么变,反正ssm也就这几个整合。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.        xmlns:context="http://www.springframework.org/schema/context"
  5.        xmlns:tx="http://www.springframework.org/schema/tx"
  6.        xsi:schemaLocation="http://www.springframework.org/schema/beans
  7.        http://www.springframework.org/schema/beans/spring-beans.xsd
  8.        http://www.springframework.org/schema/context
  9.        http://www.springframework.org/schema/context/spring-context.xsd
  10.        http://www.springframework.org/schema/tx
  11.        http://www.springframework.org/schema/tx/spring-tx.xsd">
  12.     <!--扫描service-->
  13.     <context:component-scan base-package="com.demo.service"/>
  14.     <!--加载配置文件-->
  15.     <context:property-placeholder location="classpath:jdbc.properties"/>
  16.     <!--C3PO数据源配置-->
  17.     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
  18.         <property name="driverClass" value="${jdbc.driver}"/>
  19.         <property name="jdbcUrl" value="${jdbc.url}"/>
  20.         <property name="user" value="${jdbc.username}"/>
  21.         <property name="password" value="${jdbc.password}"/>
  22.     </bean>
  23.     <!--加载mybatis工厂-->
  24.     <bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory">
  25.         <!--注入数据库连接池-->
  26.         <property name="dataSource" ref="dataSource"/>
  27.         <!--扫描bean包 使用别名-->
  28.         <property name="typeAliasesPackage" value="com.demo.bean"/>
  29.         <!--扫描sql配置文件:mapper需要的xml文件-->
  30.         <property name="mapperLocations" value="classpath:mapper/*.xml"/>
  31.     </bean>
  32.  
  33.     <!--配置扫描Dao接口包,动态实现Dao接口,注入到Spring容器中-->
  34.     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  35.         <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
  36.         <property name="basePackage" value="com.demo.dao"/>
  37.     </bean>
  38.     <!--配置事务管理器transactionManager-->
  39.     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  40.         <property name="dataSource" ref="dataSource"/>
  41.     </bean>
  42. <!--这里使用了注解的事务配置-->
  43.     <tx:annotation-driven transaction-manager="transactionManager"/>
  44. </beans>
     

3: 配置:spring-mvc.xml的整合配置代码如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.        xmlns:context="http://www.springframework.org/schema/context"
  5.        xmlns:mvc="http://www.springframework.org/schema/mvc"
  6.        xsi:schemaLocation="http://www.springframework.org/schema/beans
  7.        http://www.springframework.org/schema/beans/spring-beans.xsd
  8.        http://www.springframework.org/schema/context
  9.        http://www.springframework.org/schema/context/spring-context.xsd
  10.        http://www.springframework.org/schema/mvc
  11.        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
  12.     <!--扫描controller-->
  13.     <context:component-scan base-package="com.demo.controller"/>
  14.     <!--开启注解-->
  15.     <mvc:annotation-driven/>
  16.     <!--解决静态资源请求-->
  17.     <mvc:default-servlet-handler/>
  18.     <!--视图解析器-->
  19.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  20.         <property name="prefix" value="/WEB-INF/jsp/"/>
  21.         <property name="suffix" value=".jsp"/>
  22.     </bean>
  23. </beans>


4:jdbc.properties的代码如下:

  1. jdbc.driver=com.mysql.jdbc.Driver
  2. jdbc.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8
  3. jdbc.username=root
  4. jdbc.password=123456


5:log4j.properties的代码如下:

log4j.rootLogger=info, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n


6:web.xml的配置代码如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="2.4"
  3.          xmlns="http://java.sun.com/xml/ns/j2ee"
  4.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5.          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  6.     <!--加载spring相应的配置文件-->
  7.     <listener>
  8.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  9.     </listener>
  10.     <context-param>
  11.         <param-name>contextConfigLocation</param-name>
  12.         <param-value>classpath:spring-mybatis.xml</param-value>
  13.     </context-param>
  14.     <!--配置编码过滤器-->
  15.     <filter>
  16.         <filter-name>encodingFilter</filter-name>
  17.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  18.         <init-param>
  19.             <param-name>encoding</param-name>
  20.             <param-value>UTF-8</param-value>
  21.         </init-param>
  22.     </filter>
  23.     <filter-mapping>
  24.         <filter-name>encodingFilter</filter-name>
  25.         <url-pattern>/*</url-pattern>
  26.     </filter-mapping>
  27.     <!--配置springmvc的配置-->
  28.     <servlet>
  29.         <servlet-name>springmvc</servlet-name>
  30.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  31.         <init-param>
  32.             <param-name>contextConfigLocation</param-name>
  33.             <param-value>classpath:spring-mvc.xml</param-value>
  34.         </init-param>
  35.         <load-on-startup>1</load-on-startup>
  36.     </servlet>
  37.     <servlet-mapping>
  38.         <servlet-name>springmvc</servlet-name>
  39.         <url-pattern>/</url-pattern>
  40.     </servlet-mapping>
  41.     <welcome-file-list>
  42.         <welcome-file>index.jsp</welcome-file>
  43.     </welcome-file-list>
  44. </web-app>


至此:很快的ssm工程就搭建好了。接下开始写代码了: 
开发思路:首先设计数据库,这里简单的设计

一:使用的是mysql:数据库代码如下:

  1. DROP TABLE IF EXISTS `user`;
  2. CREATE TABLE `user` (
  3.   `id` int(11) NOT NULL AUTO_INCREMENT,
  4.   `name` varchar(255) DEFAULT NULL,
  5.   `sex` varchar(255) DEFAULT NULL,
  6.   `age` varchar(255) DEFAULT NULL,
  7.   PRIMARY KEY (`id`)
  8. ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;


二:根据数据库,创建相应的bean实体类。实体类不同的人,喜欢叫法不一样,有的叫pojo,有的叫domain。反正都一样,就是实体类而已。代码如下:

  1. package com.demo.bean;
  2. public class User {
  3.     private Integer id;
  4.     private String name;
  5.     private String age;
  6.     private String sex;
  7.     public Integer getId() {
  8.         return id;
  9.     }
  10.     public void setId(Integer id) {
  11.         this.id = id;
  12.     }
  13.     public String getName() {
  14.         return name;
  15.     }
  16.     public void setName(String name) {
  17.         this.name = name;
  18.     }
  19.     public String getAge() {
  20.         return age;
  21.     }
  22.     public void setAge(String age) {
  23.         this.age = age;
  24.     }
  25.     public String getSex() {
  26.         return sex;
  27.     }
  28.     public void setSex(String sex) {
  29.         this.sex = sex;
  30.     }
  31.     @Override
  32.     public String toString() {
  33.         return "User{" +
  34.                 "id=" + id +
  35.                 ", name='" + name + '\'' +
  36.                 ", age='" + age + '\'' +
  37.                 ", sex='" + sex + '\'' +
  38.                 '}';
  39.     }
  40. }


三:创建dao接口类,这个类是用于与mysql数据库的交互的接口。具体代码如下: 
简单的几个增删改查接口:

  1. package com.demo.dao;
  2. import com.demo.bean.User;
  3. import java.util.List;
  4. public interface UserDao {
  5.     User findUserById(Integer id);
  6.     List<User> findAll();
  7.     boolean deleteUser(Integer id);
  8.     Integer updateUser(User user);
  9.     void saveUser(User user);
  10. }


四:dao接口写好之后,接下来是userDao.xml的语句,对数据库进行操作。具体代码如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.demo.dao.UserDao">
  4.     <select id="findUserById" resultType="com.demo.bean.User" parameterType="Integer">
  5.         select id,name,sex,age from user where id=#{id}
  6.     </select>
  7.     <select id="findAll" resultType="com.demo.bean.User">
  8.         select id,name,sex,age from user
  9.     </select>
  10.     <!--新增-->
  11.     <insert id="saveUser" parameterType="com.demo.bean.User">
  12.         insert  into user(id,name,sex,age) values(#{id},#{name},#{sex},#{age})
  13.     </insert>
  14.     <!--删除-->
  15.     <delete id="deleteUser" parameterType="int">
  16.         delete from user where id=#{id}
  17.     </delete>
  18.     <!--修改-->
  19.     <update id="updateUser" parameterType="com.demo.bean.User">
  20.         update user set name=#{name},sex=#{sex},age=#{age} where id=#{id}
  21.     </update>
  22. </mapper>


五:service接口代码如下:

  1. package com.demo.service;
  2. import com.demo.bean.User;
  3. import java.util.List;
  4.  
  5. public interface UserService {
  6.     User findUserById(Integer id);
  7.     List<User> findAll();
  8.     boolean deleteUser(Integer id);
  9.     Integer updateUser(User user);
  10.     void saveUser(User user);
  11. }


六:service接口的业务实现,那么我们在开发中,其实主要就是编写这个serviceImpl业务逻辑的具体实现与controller表现层,具体代码如下:

  1. package com.demo.service.Impl;
  2. import com.demo.bean.User;
  3. import com.demo.dao.UserDao;
  4. import com.demo.service.UserService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import java.util.List;
  8. @Service
  9. public class UserUserviceImpl implements UserService {
  10.     @Autowired
  11.     private UserDao userDao;
  12.     //根据Ids查询
  13.     public User findUserById(Integer id) {
  14.         return userDao.findUserById(id);
  15.     }
  16.     //查询所有
  17.     public List<User> findAll() {
  18.         return userDao.findAll();
  19.     }
  20.     //根据id查询
  21.     public boolean deleteUser(Integer id) {
  22.         return userDao.deleteUser(id);
  23.     }
  24.     //修改用户
  25.     public Integer updateUser(User user) {
  26.         return userDao.updateUser(user);
  27.     }
  28.     //添加用户
  29.     public void saveUser(User user) {
  30.      userDao.saveUser(user);
  31.     }
  32. }


七:controller表现层的代码如下:

  1. package com.demo.controller;
  2. import com.demo.bean.User;
  3. import com.demo.service.UserService;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.ui.Model;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import org.springframework.web.bind.annotation.RequestMethod;
  9. import org.springframework.web.bind.annotation.RequestParam;
  10. import java.util.List;
  11. @Controller
  12. @RequestMapping("/user")
  13. public class UserController {
  14.     @Autowired
  15.     private UserService userService;
  16.     /**
  17.      * 跳转到添加用户界面
  18.      * @return
  19.      */
  20.     @RequestMapping("toAddUser")
  21.     public String toAddUser(){
  22.         return "addUser";
  23.     }
  24.  
  25.     /**
  26.      * 添加用户并重定向
  27.      * @param model
  28.      * @param user
  29.      * @return
  30.      */
  31.     @RequestMapping("addUser")
  32.     public String addUser(Model model, User user){
  33.         if (user != null){
  34.             userService.saveUser(user);
  35.         }
  36.         return "redirect:/user/getAllUser";
  37.     }
  38.  
  39.     /**
  40.      * 查询全部用户
  41.      * @param model
  42.      * @return
  43.      */
  44.     @RequestMapping("getAllUser")
  45.     public String getAllUser(Model model){
  46.         List<User> user = userService.findAll();
  47.         model.addAttribute("userList",user);
  48.         return "allUser";
  49.     }
  50.  
  51.     /**
  52.      * 删除用户
  53.      * @param model
  54.      * @param id
  55.      * @return
  56.      */
  57.     @RequestMapping("delUser")
  58.     public String removeUser(Model model,Integer id){
  59.         model.addAttribute("user",userService.deleteUser(id));
  60.         //userService.deleteUser(id);
  61.         return "redirect:/user/getAllUser";
  62.     }
  63.  
  64.     /**
  65.      * 跳转到更新用户页面
  66.      */
  67.     @RequestMapping("toUpdate")
  68.     public String toUpdate(@RequestParam(value = "id")Integer id, Model model){
  69.         model.addAttribute("user",userService.findUserById(id));
  70.         return "updateUser";
  71.     }
  72.     /**
  73.      * 更新用户
  74.      * @param
  75.      * @return
  76.      */
  77.     @RequestMapping(value = "updateUser",method = RequestMethod.POST)
  78.     public String updateUser(User user){
  79.         userService.updateUser(user);
  80.         return "redirect:/user/getAllUser";
  81.     }
  82. }


八:UserDaoTest.java测试,用来测试数据:具体代码如下:

  1. import com.demo.bean.User;
  2. import com.demo.service.UserService;
  3. import org.junit.Test;
  4. import org.junit.runner.RunWith;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.test.context.ContextConfiguration;
  7. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  8. import java.util.List;
  9.  
  10. @RunWith(SpringJUnit4ClassRunner.class)
  11. @ContextConfiguration({"classpath:spring-mybatis.xml"})
  12. public class UserDaoTest {
  13.     @Autowired
  14.     private UserService userService;
  15.     @Test //查询所有测试
  16.     public void testFindAllUser(){
  17.         List<User> user = userService.findAll();
  18.         System.out.println(user);
  19.     }
  20.     @Test //查询测试
  21.     public void testFindUser(){
  22.         User user = userService.findUserById(1);
  23.         System.out.println(user);
  24.     }
  25.     @Test //新增测试
  26.     public void testAddUser(){
  27.         for (int i = 2; i <=20 ; i++) {
  28.             User user= new User();
  29.             user.setId(i);
  30.             user.setAge("18");
  31.             user.setName("李四"+i);
  32.             user.setSex("男");
  33.             userService.saveUser(user);
  34.             System.out.println(user);
  35.         }
  36.     }
  37. }


测试结果,这里就给一个查询的结果如下: 

ok,这里的测试是没有问题的,其他测试可以自行测试,都是ok的,这里就不粘贴了。到此,代码就差不多写完了。

接下来是bootscrap的前端技术了。 
一:allUser.jsp代码如下:

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  3. <%
  4.     pageContext.setAttribute("path",request.getContextPath());
  5. %>
  6. <html>
  7. <head>
  8.     <title>所有用户查询</title>
  9.     <link href="https://cdn.bootcss.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet">
  10.     <script src="https://cdn.bootcss.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
  11.     <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
  12. </head>
  13. <body>
  14. <div class="container">
  15.     <div class="row">
  16.         <div class="col-md-12">
  17.             <h1>用户管理</h1>
  18.         </div>
  19.     </div>
  20.     <div class="row">
  21.         <div class="col-md-4 col-md-offset-8">
  22.             <a class="btn btn-primary" href="/user/toAddUser">新增</a>
  23.         </div>
  24.     </div>
  25.     <div class="row">
  26.         <div class="col-md-12">
  27.             <table class="table table-hover table-striped">
  28.                 <tr>
  29.                     <th>id</th>
  30.                     <th>name</th>
  31.                     <th>sex</th>
  32.                     <th>age</th>
  33.                     <th>操作</th>
  34.                 </tr>
  35.                 <c:forEach items="${userList}" var="user">
  36.                     <tr>
  37.                         <td>${user.id}</td>
  38.                         <td>${user.name}</td>
  39.                         <td>${user.sex}</td>
  40.                         <td>${user.age}</td>
  41.                         <td>
  42.                             <a type="button"  href="${path}/user/toUpdate?id=${user.id}" class="btn btn-info btn-sm">
  43.                                 <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
  44.                                 编辑</a>
  45.                             <a type="button"  href="${path}/user/delUser?id=${user.id}" class="btn btn-danger btn-sm">
  46.                                 <span class="glyphicon glyphicon-trash" aria-hidden="true" ></span>
  47.                                 删除</a>
  48.                         </td>
  49.                     </tr>
  50.                 </c:forEach>
  51.             </table>
  52.         </div>
  53.     </div>
  54. </div>
  55. </body>
  56. </html>
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
应用背景为变电站电力巡检,基于YOLO v4算法模型对常见电力巡检目标进行检测,并充分利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务,并对系统性能做出一定的优化。.zip深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值