Spring+SpringMVC+SpringJDBC搭建web项目实现商品查询

准备工作:创建商品数据库,以及商品表

#创建数据库

DROP DATABASE IF EXISTS goodsDB;

CREATE DATABASE goodsDB;

USE goodsDB;

#创建商品表 goods

#id  number  商品编号,主键

#name  Varchar2(50)  商品名称,非空

#Price  Number  商品单价,非空

#Num  number 商品库存,必须大于0

CREATE TABLE goods(

  id INT PRIMARY KEY,

  NAME VARCHAR(50),

  price DOUBLE NOT NULL,

  imgs VARCHAR(200),

  num INT

);

#添加数据

#创建数据库

DROP DATABASE IF EXISTS goodsDB;

CREATE DATABASE goodsDB;

USE goodsDB;

#创建商品表 goods

#id  number  商品编号,主键

#name  Varchar2(50)  商品名称,非空

#Price  Number  商品单价,非空

#Num  number 商品库存,必须大于0

CREATE TABLE goods(

  id INT PRIMARY KEY,

  NAME VARCHAR(50),

  price DOUBLE NOT NULL,

  imgs VARCHAR(200),

  num INT

);

#添加数据

INSERT INTO goods VALUES('10010','迪奥999',250,'dior999.gif',100);

INSERT INTO goods VALUES('10020','阿玛尼405',288,'405.gif',50);

INSERT INTO goods VALUES('10030','TF16',398,'tf16.jpg',80);

INSERT INTO goods VALUES('10040','YSL1966',998,'ysl1966.jpg',20);

SELECT * FROM goods;

-----------Spring+SpringMVC+SpringJDBC搭建web项目实现商品查询-----------

  1. 创建maven的web项目
  2. 打开pom.xml导入相关jar包依赖坐标  以及 打包 插件

<dependencies>
    <!--spring-mvc-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>6.0.6</version>
    </dependency>
    <!--注解-->
    <dependency>
        <groupId>jakarta.annotation</groupId>
        <artifactId>jakarta.annotation-api</artifactId>
        <version>2.1.1</version>
    </dependency>
    <!--javaee-web:servlet校验注解-->
    <dependency>
        <groupId>jakarta.platform</groupId>
        <artifactId>jakarta.jakartaee-web-api</artifactId>
        <version>9.1.0</version>
        <scope>provided</scope>
    </dependency>
    <!--jstl-->
    <dependency>
        <groupId>jakarta.servlet.jsp.jstl</groupId>
        <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
        <version>3.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.web</groupId>
        <artifactId>jakarta.servlet.jsp.jstl</artifactId>
        <version>2.0.0</version>
    </dependency>
    <!--jsckson-->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.15.0</version>
    </dependency>
    <!--jdbc-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.25</version>
    </dependency>
    <!--spring-jdbc-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>6.0.6</version>
    </dependency>
    <!--连接池-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.2.8</version>
    </dependency>
    <!--声明式事务-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>6.0.6</version>
    </dependency>
    <!--aspectjwear-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aspects</artifactId>
        <version>6.0.6</version>
    </dependency>
    <!--lombok-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.26</version>
    </dependency>
    <!--logback日志-->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>
</dependencies>

<plugins>
    <!-- 打包插件-->
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.3</version>
    </plugin>
</plugins>

注意:引入logback.xml的日志文件

3.外部配置文件jdbc.properties 属性配置文件到resources

jdbc.url=jdbc:mysql://localhost:3306/goodsDB?serverTimezone=UTC
jdbc.userName=root
jdbc.userPwd=
jdbc.driverClass=com.mysql.cj.jdbc.Driver

4.创建web容器初始化配置类:MyWebAppInit  

public class MyWebAppInit extends AbstractAnnotationConfigDispatcherServletInitializer {
    /**
     * 指定root容器对应的配置类:service / dao层的配置类
     */
    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[]{SpringConfig.class};
    }

    /**
     *web容器对应的配置类:指定springmvc的配置类
     */
    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[]{SpringMvcConfig.class};
    }

    /**
     *设置dispatcherServlet的处理路径!一般情况下为 / 代表处理所有请求!
     */
    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
}

5. 创建SpringMVC的配置类: SpringMvcConfig.java

@EnableWebMvc     //开启mvc复合功能开关,启用SpringMVC框架,如注解驱动
@Configuration   //配置类
@ComponentScan(basePackages = "com.bdqn.controller")  //扫描controller控制层
public class SpringMvcConfig implements WebMvcConfigurer {
    /**
     * 配置视图解析器
     */
    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) {
        registry.jsp("/",".jsp");
    }
}

6. 创建Spring的配置类: SpringConfig

@Configuration              //配置类注解

@ComponentScan({"com.bdqn.dao","com.bdqn.service"})  //注解扫描
@PropertySource("classpath:jdbc.properties") //加载jdbc的属性配置文件

@EnableTransactionManagement   //开启事务管理器
public class SpringConfig {
    /**
     *从配置文件中获取属性值
     */
    @Value("${jdbc.driverClass}")
    private String driver;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.userName}")
    private String username;
    @Value("${jdbc.userPwd}")
    private String password;

    /**
     * 创建数据源对象
     */
    @Bean
    public DataSource dateSource(){
        //创建阿里连接池数据源对象
        DruidDataSource dataSource=new DruidDataSource();
        dataSource.setDriverClassName(driver);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }
    /**
     * 创建jdbcTemplate模板对象
     */
    @Bean
    public JdbcTemplate jdbcTemplate(DataSource dataSource){
        JdbcTemplate jdbcTemplate=new JdbcTemplate();
        jdbcTemplate.setDataSource(dataSource);
        return jdbcTemplate;
    }

/**
     * 装配事务管理实现对象
     */
   @Bean
   public DataSourceTransactionManager dataSourceTransactionManager(DataSource dataSource){
        DataSourceTransactionManager transactionManager=new DataSourceTransactionManager();
        transactionManager.setDataSource(dataSource);
        return transactionManager;
   }


}

7. 编写实体层 商品实体类 Goods

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Goods {
    private int id;
    private String name;
    private double price;
    private String imgs;
    private int num;
}

8.编写dao数据访问

1.GoodsDao接口

public interface GoodsDao {
    List<Goods> selectAll();
}

2.GoodsDaoImpl实现类

@Repository
public class GoodsDaoImpl implements GoodsDao {
    @Autowired
    JdbcTemplate jdbcTemplate;

    /**
     * 查询所有商品信息
     */
    @Override
    public List<Goods> selectAll() {
        String sql="select * from goods";
        List<Goods> list=jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(Goods.class));
        return list;
    }
}

9.编写service业务层

1.GoodsService接口

public interface GoodsService {
    List<Goods> getAll();
}

2.GoodsServiceImpl实现类

@Service
public class GoodsServiceImpl implements GoodsService {
    @Autowired
    GoodsDao goodsDao;

    @Override
    public List<Goods> getAll() {
        return goodsDao.selectAll();
    }

}

10.编写controller控制层

@Controller
public class GoodsController {
    @Autowired
    GoodsService goodsService;

    /**
     * 获取所有商品控制器
     */
    @RequestMapping("/getAll")
    public ModelAndView getAll(){
        ModelAndView mv=new ModelAndView();
        List<Goods> list=goodsService.getAll();
        //设置数据模型,存储到request作用域
        mv.addObject("list",list);
        //设置跳转的逻辑视图
        mv.setViewName("index");
        return mv;
    }

}

11. 编写index.jsp,将所有商品进行展示

<table class="table col-12 table-hover table-bordered">
    <thead class="thead-light">
    <tr>
        <th scope="col"><input type="checkbox" name="all" />全选</td>
        </th>
        <th scope="col">商品编号</th>
        <th scope="col">商品名称</th>
        <th scope="col">单价</th>
        <th scope="col">图片</th>
        <th scope="col">库存</th>
        <th scope="col">库存</th>
    </tr>
    </thead>
    <tbody>
    <c:forEach items="${list}" var="goods">
        <tr class="warning">
            <td><input type="checkbox" name="gids" value="${goods.id}" /></td>
            <td>${goods.id}</td>
            <td>${goods.name}</td>
            <td>${goods.price}</td>
            <td><img width="48px" height="48px" src="img/${goods.imgs}" class="img-rounded"></td>
            <td>${goods.num}</td>
            <td>
                <a href="#" class="btn btn-primary btn-sm del">删除</a>
                <a href="javascript:void(0)" title="${goods.id}" class="btn btn-primary btn-sm edit">修改</a>
            </td>
        </tr>
    </c:forEach>
    </tbody>
</table>

12. el表达式无法正常显示,需要修改web.xml配置文件的版本为4.0

<?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">
</web-app>

知识点:

1.放行静态资源

除jsp以外的请求都会进入到前端控制器,需要设置SpringMVC放行静态资源

静态资源包括:js、css、img等等

SpringMvcConfig配置类,进行配置

/**
 * 放行静态资源
 */
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
    //开启静态资源
    configurer.enable();
}

2.控制器方法返回值类型

1.ModelAndView  等于 数据模型+逻辑视图

  addObject(name,value): 数据存储到request作用域

  setViewName(url): 指定跳转地址逻辑视图

2.String  默认指定跳转地址逻辑视图名

3.void     (原生servlet对象实现)

3.参数绑定

1.基本类型参数 

满足:请求参数名和方法参数名相同

     如果请求参数名和方法参数名不相同,可以使用@RequestParam(value=请求参数名)

请求地址:<a class="page-link" href="getAll?pageNum=2">2</a>

@RequestMapping("/getAll")
public ModelAndView getAll(@RequestParam(value = "pageNum",

required = false,

defaultValue = "1") int pageNum){

}

@RequestParam注解属性:

value: 指定绑定请求参数名

required必填项

defaultValue默认值

2.对象类型参数

满足:请求参数名和对象的属性名相同,属性必须提供get/set方式

请求地址:addGoods?id=1002&name=西瓜&price=99.9&imgs=西瓜.jpg&num=50

@RequestMapping("/goods")
public String addGoods(Goods goods){


}

3.一个参数名有多个参数值

  如:复选框,发送选中的商品编号

请求地址:batchDelGoods?gids=10010&gids=10020

@RequestMapping("/batchDelGoods")
public String batchDelGoods(@RequestParam("gids") List<Integer> gids){

}

 4. JSON格式的数据  (postman测试)

    @RequestBody主要用来接收前端传递给后端的json字符串中请求体中的数据的。

GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据而是用POST方式进行提交在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。

   如果参数放在请求体中,传入后台的话,那么后台要用@RequestBody才能接收到;如果不是放在请求体中的话,那么后台接收前台传过来的参数时,要用@RequestParam来接收。

JSON格式商品对象:

{"id":1001,"name":"西瓜","price":9.9,"imgs":"2.jpg","num":100}

@PostMapping(value = "/addGoods",produces = "text/html;charset=UTF-8")
@ResponseBody
public String addGoods(@RequestBody  Goods goods){
    System.out.println(goods);
    return "成功";
}

5. Model存储模型数据

// 在形参位置声明Model类型变量,用于存储模型数据,作用域request级

public String handle( Model model) {

}

6. 获取原生对象

/**

 * 如果想要获取请求或者响应对象,或者会话等,可以直接在形参列表传入,并且不分先后顺序!

 * 注意: 接收原生对象,并不影响参数接收!

 */

public String handle(HttpSession session , HttpServletRequest request,

                  HttpServletResponse response){

}

7. 获取Cookie对象

public void handle(@CookieValue("JSESSIONID") String cookie) {

}

4.控制器跳转方式

  1. 默认转发进行跳转 , 并且 自定义视图解析器生效
  2. 指定跳转方式

1.加redirect: 前缀,指定重定向跳转

2.加forward: 前缀或不加,指定转发跳转

      3.一旦指定跳转方式,自定义视图解析器生效,

  总结:一旦往控制器跳转,视图地址必须加redirect: 或 forward:

5.RestFul 风格传值

    作用:将参数值作为url一个部分,简化页面url格式编写  

    示例:https://www.xinli001.com/info/100480332

    演示:

请求地址:delGoods/10010

@RequestMapping("/delGoods/{id}")
public String delGoods(@PathVariable("id") int id){
    int row=goodsService.delete(id);
    return "redirect:/getAll";
}

6.ajax异步请求

  异步请求,只响应数据,控制器需要恒不跳转,使用@ResponseBody注解

  @ResponseBody作用:恒不跳转,将返回值按照特定的格式以流响应输出

1.如果返回值不满足key-value格式 (String类型),

设置响应头信息:text/html;charset=ISO-8859-1,并以流响应输出

注意:响应中文乱码,需要设置响应编码

前端异步请求: $.get("ajaxDelGoods",{"id":id},callback);

/**
 * 异步删除商品信息
 */
@RequestMapping(value = "/ajaxDelGoods",produces = "text/html;charset=UTF-8")
@ResponseBody
public String ajaxDelGoods(int id){
    int row=goodsService.delete(id);
    return row>0?"成功":"失败";
}

  2.如果返回值满足key-value格式 (Map,对象,对象集合)

设置响应头信息:application/json;charset=UTF-8,并以流响应输出

前端异步请求:$.getJSON("ajaxGetGoods",{"id":id},callback);

/**
 * 异步根据商品编号获取商品信息
 */
@RequestMapping(value = "/ajaxGetGoods")
@ResponseBody
public Goods ajaxGetGoods(int id){
    Goods goods=goodsService.getGoodsById(id);
    return goods;
}

7.在Web容器的初始化配置类配置springmvc提供解决中文乱码过滤器

   MyWebAppInitiallizer.java

/**
 * 配置统一字符编码的过滤器
 */
@Override
protected Filter[] getServletFilters() {
    CharacterEncodingFilter encodingFilter=new CharacterEncodingFilter();
    encodingFilter.setEncoding("UTF-8");
    return new Filter[]{encodingFilter};
}

8. SpringMVC相关注解总结

注解名

描述

@EnableWebMvc

注解驱动,启用SpringMVC配置.它提供了处理HTTP请求、管理控制器、处理视图以及管理其他与Web相关组件的功能。

如:处理器控制器、处理器适配器、json处理器等

@Controller

标识一个类为控制器的注解

@RestController

等于@Controller+@ResponseBody

Rest风格的控制器,以JSON或XML形式返回响应结果

@RequestMapping

设置请求路径URL和处理请求控制器的映射关系

@GetMapping

用于映射Get请求到控制器方法

@PostMapping

用于映射Post请求到控制器方法

@RequestParam

获取请求参数值,将请求参数绑定到控制器方法的参数上

@PathVariable

获取RestFul风格的URL中值作为控制器方法的参数

@RequestBody

将post请求JSON格式的请求体的内容绑定到控制器方法的参数上

@ResponseBody

将控制器方法的返回值以流的形式响应输出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/58171.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenHarmony鸿蒙应用开发 | 如何使用vsCode配置cangjie(仓颉)插件编程

前沿 余承东余总&#xff08;余大嘴&#xff09;在2024年10月21日鸿蒙【原生鸿蒙之夜暨华为全场景新品发布会】现场说&#xff0c;cangjie会成为鸿蒙下一代的编程语言&#xff0c;为开发者提供更强大的编程能力&#xff0c;让开发者在鸿蒙设备上实现更多创意。目前cangjie正处…

海亮科技亮相第84届中国教装展 尽显生于校园 长于校园教育基因

10月25日&#xff0c;第84届中国教育装备展示会&#xff08;以下简称“教装展”&#xff09;在昆明滇池国际会展中心开幕。作为国内教育装备领域规模最大、影响最广的专业展会&#xff0c;本届教装展以“数字赋能教育&#xff0c;创新引领未来”为主题&#xff0c;为教育领域新…

相识redis

一、Redis简介 什么是redis&#xff1f; Redis&#xff08;全称为Remote Dictionary Server&#xff09;是一个开源的非关系性数据库用于存储键值对&#xff0c;主要用于数据存储、缓存和消息队列方面&#xff0c;相传redis的初心是做消息队列起家但有心栽花花不开&#xff0…

WPF+MVVM案例实战(一)- 设备状态LED灯变化实现

文章目录 1、项目创建2、UI界面布局1. MainWindow.xaml2、颜色转换器实现2.MainViewModel.cs 代码实现 3、运行效果4.源代码下载 1、项目创建 打开 VS2022 &#xff0c;新建项目 Wpf_Examples&#xff0c;创建各层级文件夹&#xff0c;安装 CommunityToolkit.Mvvm 和 Microsof…

react18中react-thunk实现公共数据仓库的异步操作

redux及react-redux都只能实现数据的同步修改更新&#xff0c;有点类似于vue中的mutation&#xff0c;只能做同步操作&#xff0c;异步的话不用actions来实现。由于在项目始终不可避免要实现的异步数据的更新&#xff0c;这明显不够用了。是时候引入我们的异步中间件redux-thun…

长思维PRM

思维链 除了常见的连接词如 “and” 和 “so” 之外。还出现了"wait", Alternatively" 等特殊的关键词&#xff0c;"像 “wait” (表示反思)和 “Alternatively”(表示探索不同路径) 这样的关键词是模型能够进行反思和自我纠正的重要指标 迭代式问题解决&…

【PLC编程】GX Works报未能正常执行RUN中写入解决办法

在PLC编程中按F4转换时报未正常执行RUN中写入&#xff0c;可能是程序不一致。 选择工具->选项 选择RUN中写入。去除转换&#xff08;编译&#xff09;中执行RUN中写入 点击确定后&#xff0c;就不会再报此问题。F4转换也能正常转换了。

Java Lock CountDownLatch 总结

前言 相关系列 《Java & Lock & 目录》&#xff08;持续更新&#xff09;《Java & Lock & CountDownLatch & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Java & Lock & CountDownLatch & 总结》&#xff08;学习总…

IE快捷方式加载特定主页

一、某插件安装后&#xff0c;桌面会增加一个首页为特定网站的IE快捷方式&#xff08;不对原有的IE做任何改动&#xff09;&#xff0c;同时&#xff0c;会把快速启动栏中的IE快捷方式改为特定网站。 解决方案如下&#xff1a; 方法一&#xff1a;直接把桌面新增加的IE快捷方式…

Selenium4自动化测试常用函数总结,各种场景操作实战

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 seleninum作为自动化测试的工具&#xff0c;自然是提供了很多自动化操作的函数&#xff0c;下面列举下比较常用的函数&#xff0c;更多可见官方文档&#xff1a;…

网络安全的重要性及实践指南

网络安全的重要性及实践指南 前言 随着信息技术的快速发展&#xff0c;网络安全问题日益突出。无论是个人用户还是企业组织&#xff0c;网络安全都成为了必须重视的问题。本文将深入探讨网络安全的重要性、常见威胁、以及如何有效地保护网络安全。 一、网络安全的重要性 1.…

通过SSL加密服务器流量

要实现通过SSL对客户端和服务器之间的流量进行加密&#xff0c;我们可以选择Stunnel这个开源软件&#xff0c;这个软件实现了客户端和服务器端之间的流量通过TLS进行加密传输。 例如我们现在有一台服务器&#xff0c;在其上安装了代理服务&#xff0c;我们想对连接这个代理服务…

docker常用命令整理

文章目录 docker 常用操作命令一、镜像类操作1.构建镜像2.从容器创建镜像3.查看镜像列表4.删除镜像5. 从远程镜像仓库拉取镜像6. 将镜像推送到镜像仓库中7. 将镜像导出8. 导入镜像9. 登录镜像仓库 二、容器相关操作1. 运行容器2. 进入容器3. 查看容器的运行状态4. 查看容器的日…

QT SSDP 局域网检测支持扫描通信

一. 什么是SSDP? 简单服务发现协议(SSDP,Simple Service Discovery Protocol)是一种应用层协议,简单服务发现协议是在HTTPU和HTTPMU的基础上实现的协议。简单服务发现协议(SSDP)提供了在局域网里面发现设备的机制。客户端可以通过使用SSDP,根据自己的需要,在局域网查找特…

C++20新特性探索:概念(Concepts)与范围库(Ranges)

随着C++标准的不断演进,每一次新版本的发布都带来了诸多令人瞩目的新特性。C++20,作为近年来的一次重大更新,不仅巩固了C++在高性能计算、系统编程等领域的地位,还通过引入一系列创新特性,进一步提升了C++的可用性和表达力。本文将深入探讨C++20中的两大亮点——概念(Con…

丝氨酸/苏氨酸激酶(STKs):前列腺癌治疗的新兴靶点

引言 前列腺癌&#xff08;PCa&#xff09;是男性癌症相关死亡的第五大原因&#xff0c;全球约有140万患者&#xff0c;2020年超37.5万死亡病例。 靶向治疗是潜力巨大的领域&#xff0c;PARP、PSMA、STEAP1、DLL3等是前列腺癌治疗的明星靶点。 除此之外&#xff0c;还有哪些…

深度学习之降维和聚类

1 降维和聚类 1.1 图解为什么会产生维数灾难 ​ 假如数据集包含10张照片&#xff0c;照片中包含三角形和圆两种形状。现在来设计一个分类器进行训练&#xff0c;让这个分类器对其他的照片进行正确分类&#xff08;假设三角形和圆的总数是无限大&#xff09;&#xff0c;简单的…

SMT(表面贴装技术)

一、什么是SMT SMT&#xff0c;即表面贴装技术&#xff08;Surface Mounted Technology&#xff09;&#xff0c;是一种将元器件直接安装到印刷电路板&#xff08;PCB&#xff09;表面的制造方法。这种技术极大地提高了电子产品的密度和性能&#xff0c;是现代电子制造中的关键…

基于逻辑回归进行THUCNews文本分类

项目背景 基于逻辑回归(Logistic Regression)进行THUCNews文本分类的项目背景通常包括以下几个方面: 1. 数据集背景 THUCNews数据集:THUCNews(Tsinghua News Corpus)是由清华大学自然语言处理与社会人文计算实验室整理的新闻文本数据集。该数据集包含约84万篇新闻文档,…

Linux常用命令 yum 命令介绍

目录 yum 语法 yum常用命令 常见命令举例 1. 列出所有可更新的软件清单命令&#xff1a;yum check-update 2. 更新所有软件命令&#xff1a;yum update 3. 仅安装指定的软件命令&#xff1a;yum install 4. 仅更新指定的软件命令&#xff1a;yum update 5. 列出所有可…