当前位置: 首页 > 编程日记 > 正文

Java EE学习笔记(四)

Spring的数据库开发

1、Spring JDBC

1)、Spring JDBC模块的作用:Spring的JDBC模块负责数据库资源管理和错误处理,大大简化了开发人员对数据库的操作,使得开发人员可以从繁琐的数据库操作中解脱出来,从而将更多的精力投入到编写业务逻辑当中(只要由new实例就可以用IOC实现,只要有setter方法就可以用DI实现)

2)、Spring JdbcTemplate的解析:

a)、JdbcTemplate类是Spring JDBC的核心类

b)、JdbcTemplate类的继承结构具体如下图所示:

c)、DataSource(连接池,也称数据源):其主要功能是获取数据库连接,还可以引入对数据库连接的缓冲池分布式事务的支持,它可以作为访问数据库资源的标准接口

d)、SQLExceptionTranslator:该接口负责对SQLException进行转译工作。通过必要的设置获取SQLExceptionTranslator中的方法,可以使JdbcTemplate在需要处理SQLException时,委托SQLExceptionTranslator的实现类来完成相关的转译工作

e)、JdbcOperations接口定义了在JdbcTemplate类中可以使用的操作集合,包括添加、修改、查询和删除等操作

3)、Spring JDBC的配置

a)、Spring JDBC模块主要由4个包组成,分别是core(核心包)、dataSource(数据源包)、object(对象包)和support(支持包)

b)、从上表可以看出,Spring对数据库的操作都封装在了这几个包中,而想要使用Spring JDBC,就需要对其进行配置,配置模板如下:

 1 <!--1、配置数据源-->
 2 <bean id="dataSourceID" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
 3     <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
 4     <property name="url" value="jdbc:mysql://localhost:3306/spring"/>
 5     <property name="username" value="root"/>
 6     <property name="password" value="****"/>
 7 </bean>
 8 
 9 <!--配置JDBC模板-->
10 <bean id="jdbcTemplateID" class="org.springframework.jdbc.core.JdbcTemplate">
11     <property name="dataSource" ref="dataSourceID"/> <!--注入数据源-->
12 </bean>
13 
14 <!--配置需要实例化的Bean-->
15 <bean id="xxx" class="Xxx">
16     <property name="jdbcTemplate" ref="jdbcTemplateID"/> <!--注入JDBC模板-->
17 </bean>    

c)、关于上述示例dataSource配置中的4个属性说明,如下表所示:

上表中的属性值在实际配置时,需要根据数据库类型设置进行相应配置

2、Spring JdbcTemplate的常用方法

1)、在JdbcTemplate核心类中,提供了大量的更新和查询数据库的方法:

a)、execute(String sql)方法可用于执行sql语句

b)、update()用于执行插入、更新和删除操作

c)、query()用于执行数据查询操作

2)、execute()的使用:

a)、src->applicationContext.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 xsi:schemaLocation="http://www.springframework.org/schema/beans 
 5      http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
 6      
 7     <!-- 1、配置数据源 -->
 8     <bean id="dataSourceID" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
 9     
10         <!--1.1、数据库驱动 -->
11         <property name="driverClassName" value="com.mysql.jdbc.Driver" />
12         
13         <!--1.2、连接数据库的url(即数据库所在地址) -->
14         <property name="url" value="jdbc:mysql://localhost:3306/spring" />
15         
16         <!--1.3、连接数据库的用户名 -->
17         <property name="username" value="root" />
18         
19         <!--1.4、连接数据库的密码 -->
20         <property name="password" value="******" />
21     </bean>
22     
23     <!-- 2、配置JDBC模板,并且注入数据源 -->
24     <bean id="jdbcTemplateID" class="org.springframework.jdbc.core.JdbcTemplate">
25     
26         <!-- 2.1、默认必须使用数据源 -->
27         <property name="dataSource" ref="dataSourceID" />
28     </bean>
29     
30     <!--3、定义id为accountDaoID的Bean,即配置DAO层-->
31     <bean id="accountDaoID" class="com.itheima.jdbc.AccountDaoImpl">
32     
33         <!-- 3.1、将jdbcTemplate注入到accountDao类实例中 -->
34         <property name="jdbcTemplate" ref="jdbcTemplateID" />
35     </bean>
36     
37 </beans>

b)、src->com.itheima.jdbc

①JdbcTemplateTest.java

 1 package com.itheima.jdbc;
 2 import java.util.List;
 3 import org.junit.Test;
 4 import org.springframework.context.ApplicationContext;
 5 import org.springframework.context.support.ClassPathXmlApplicationContext;
 6 import org.springframework.jdbc.core.JdbcTemplate;
 7 
 8 public class JdbcTemplateTest {
 9     /**
10      * 使用execute()方法建表
11      */
12     public static void main(String[] args) {
13         
14         // 1、加载配置文件
15         ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
16         
17         // 2、获取JdbcTemplate实例
18         JdbcTemplate jdTemplate = (JdbcTemplate) applicationContext.getBean("jdbcTemplateID");
19         
20         // 3、使用该实例的execute()方法执行SQL语句,创建用户账户管理表account
21         jdTemplate.execute("create table account(" + 
22                              "id int primary key auto_increment," +
23                              "username varchar(50)," + 
24                              "balance double)");
25         System.out.println("账户表account创建成功!");
26     }
27 }

②运行结果:

3)、update()的使用

a)、update()方法可以完成插入、更新和删除数据的操作。在JdbcTemplate类中,提供了一系列的update()方法,其常用方法下表所示:

b)、src->com.itheima.jdbc

①普通账户类:Account.java

 1 package com.itheima.jdbc;
 2 
 3 public class Account { // 账户的信息
 4     
 5     private Integer id;       // 账户id
 6     private String username; // 用户名
 7     private Double balance;  // 账户余额
 8     
 9     public Integer getId() {
10         return id;
11     }
12     
13     public void setId(Integer id) {
14         this.id = id;
15     }
16     
17     public String getUsername() {
18         return username;
19     }
20     
21     public void setUsername(String username) {
22         this.username = username;
23     }
24     
25     public Double getBalance() {
26         return balance;
27     }
28     
29     public void setBalance(Double balance) {
30         this.balance = balance;
31     }
32     
33     public String toString() {
34         return "Account [id=" + id + ", " + "username=" + username + ", balance=" + balance + "].";
35     }
36 }

②用户接口类:AccountDao.java

 1 package com.itheima.jdbc;
 2 
 3 import java.util.List;
 4 
 5 public interface AccountDao { // 创建接口
 6     
 7     // 添加
 8     public int addAccount(Account account);
 9     
10     // 更新
11     public int updateAccount(Account account);
12     
13     // 删除
14     public int deleteAccount(int id);
15     
16     // 通过id查询
17     public Account findAccountById(int id);
18     
19     // 查询所有账户
20     public List<Account> findAllAccount();
21 }

③用户接口实现类:AccountDaoImpl.java

 1 package com.itheima.jdbc;
 2 import java.util.List;
 3 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 4 import org.springframework.jdbc.core.JdbcTemplate;
 5 import org.springframework.jdbc.core.RowMapper;
 6 
 7 public class AccountDaoImpl implements AccountDao { // 数据访问层DAO
 8     
 9     // 1、声明JdbcTemplate属性及其setter方法
10     private JdbcTemplate jdbcTemplate;
11     
12     public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { // 由Spring容器注入JBDC模板来操作mysql
13         this.jdbcTemplate = jdbcTemplate;
14     }
15     
16     // 2、添加账户
17     public int addAccount(Account account) {
18         
19         // 2.1、定义SQL
20         String sql = "insert into account(username,balance) value(?,?)";
21         
22         // 2.2、定义数组来存放SQL语句中的参数
23         Object[] obj = new Object[] { account.getUsername(), account.getBalance() };
24         
25         // 2.3、执行添加操作,返回的是受SQL语句影响的记录条数
26         int num = this.jdbcTemplate.update(sql, obj);
27         return num;
28     }
29     
30     // 3、更新账户
31     public int updateAccount(Account account) { 
32         
33         // 3.1、定义SQL
34         String sql = "update account set username=?,balance=? where id = ?";
35         
36         // 3.2、定义数组来存放SQL语句中的参数
37         Object[] params = new Object[] { account.getUsername(), account.getBalance(),  account.getId() };
38         
39         /*
40          *  3.3、执行添加操作,返回的是受SQL语句影响的记录条数
41          *  第1个参数:sql操作语句
42          *  第2个参数:
43          */
44         int num = this.jdbcTemplate.update(sql, params); 
45         return num;
46     }
47     
48     // 4、删除账户
49     public int deleteAccount(int id) {
50         
51         // 4.1、定义SQL
52         String sql = "delete  from account where id = ? ";
53         
54         // 4.2、执行添加操作,返回的是受SQL语句影响的记录条数
55         int num = this.jdbcTemplate.update(sql, id); 
56         return num;
57     }
58     
59     // 5、通过id查询账户数据信息
60     public Account findAccountById(int id) {
61         
62         //5.1、定义SQL语句
63         String sql = "select * from account where id = ?";
64         
65         // 5.2、创建一个新的BeanPropertyRowMapper对象
66         RowMapper<Account> rowMapper = new BeanPropertyRowMapper<Account>(Account.class);
67         
68         // 5.3、将id绑定到SQL语句中,并通过RowMapper返回一个Object类型的单行记录
69         return this.jdbcTemplate.queryForObject(sql, rowMapper, id);
70     }
71     
72     // 6、查询所有账户信息
73     public List<Account> findAllAccount() {
74         
75         // 6.1、定义SQL语句
76         String sql = "select * from account";
77         
78         // 6.2、创建一个新的BeanPropertyRowMapper对象
79         RowMapper<Account> rowMapper = new BeanPropertyRowMapper<Account>(Account.class);
80         
81         // 6.3、执行静态的SQL查询,并通过RowMapper返回结果
82         return this.jdbcTemplate.query(sql, rowMapper);
83     }
84 }

④测试类:JdbcTemplate中添加一个测试方法addAccountTest(),用于添加用户信息:

 1     @Test
 2     public void addAccountTest() {
 3         
 4         // 1、加载配置文件
 5         ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
 6         
 7         // 2、获取AccountDao的Bena实例AccountDaoID
 8         AccountDao accountDao = (AccountDao) applicationContext.getBean("accountDaoID");
 9         
10         // 3、创建Account对象,并向Account对象中添加数据
11         Account account = new Account();
12         account.setUsername("joy");
13         account.setBalance(100.00);
14         
15         // 4、执行addAccount()方法,并获取返回结果
16         int num = accountDao.addAccount(account);
17         if (num > 0) {
18             System.out.println("成功插入了" + num + "条数据!");
19         } else {
20             System.out.println("插入操作执行失败!");
21         }
22     }

⑤运行结果:

⑥测试类:JdbcTemplate中添加一个测试方法updateAccountTest(),用于更新用户信息:

 1     @Test
 2     public void updateAccountTest() {
 3         
 4         // 1、加载配置文件
 5         ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
 6         
 7         // 2、获取AccountDao的Bean实例accountDaoID
 8         AccountDao accountDao = (AccountDao) applicationContext.getBean("accountDaoID");
 9         
10         // 3、创建Account对象,并向Account对象中添加数据
11         Account account = new Account();
12         account.setId(1);
13         account.setUsername("tom");
14         account.setBalance(2000.00);
15         
16         // 4、执行updateAccount()方法,并获取返回结果
17         int num = accountDao.updateAccount(account);
18         if (num > 0) {
19             System.out.println("成功修改了" + num + "条数据!");
20         } else {
21             System.out.println("修改操作执行失败!");
22         }
23     }

⑦运行结果:

⑧测试类:JdbcTemplate中添加一个测试方法deleteAccountTest(),用于删除用户信息:

 1     @Test
 2     public void deleteAccountTest() {
 3         
 4         // 1、加载配置文件
 5         ApplicationContext applicationContext =  new ClassPathXmlApplicationContext("applicationContext.xml");
 6         
 7         // 2、获取AccountDao的Bean实例accountDaoID
 8         AccountDao accountDao = (AccountDao) applicationContext.getBean("accountDaoID");
 9         
10         // 3、执行deleteAccount()方法,并获取返回结果
11         int num = accountDao.deleteAccount(1);
12         if (num > 0) {
13             System.out.println("成功删除了" + num + "条数据!");
14         } else {
15             System.out.println("删除操作执行失败!");
16         }
17     }

⑨运行结果:

4)、query()的使用

a)、JdbcTemplate类中还提供了大量的query()方法来处理各种对数据库表的查询操作。其中,常用的几个query()方法如下表所示:

b)、向数据表account中插入几条数据:

①测试类JdbcTemplate中添加一个测试方法findAccountByIdTest(),用于查找用户id的信息:

 1     @Test
 2     public void findAccountByIdTest() {
 3        
 4         // 1、加载配置文件
 5         ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
 6         
 7         // 2、获取AccountDao的Bean实例accountDaoID
 8         AccountDao accountDao = (AccountDao) applicationContext.getBean("accountDaoID");
 9         
10         // 3、执行findAccountById()方法
11         Account account = accountDao.findAccountById(1);
12         System.out.println(account);
13     }

②运行结果:

③测试类JdbcTemplate中添加一个测试方法findAllAccountTest(),用于查找所有用户的信息:

 1     @Test
 2     public void findAllAccountTest() {
 3         
 4         // 1、加载配置文件
 5         ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
 6         
 7         // 2、获取AccountDao实例
 8         AccountDao accountDao = (AccountDao) applicationContext.getBean("accountDaoID");
 9         
10         // 3、执行findAllAccount()方法,获取Account对象的集合
11         List<Account> account = accountDao.findAllAccount();
12         
13         // 4、循环输出集合中的对象
14         for (Account act : account) {
15             System.out.println(act);
16         }
17     }

④运行结果:

个人总结:

如何管理用户的数据库?首先应单独写一个类来存储用户的所有信息;其次“管理员”创建实现操作用户的接口类(拥有的操作方法)以及对应的接口实现类,其中接口实现类要注入JdbcTemplate属性和它的setter方法,因为用JdbcTemplate管理数据库起来很方便,并且要实现对用户的增删查改的具体方法;然后测试操作时,首先都要加载配置文件,因为这些都由Spring容器来管理,然后获取容器中管理用户的Bean实例,若要对用户信息进行增加或更新,则要先new一个普通用户的实例,向这个实例中传入需要操作的数据,最后通过Bean实例去调用相应的操作用户的方法即可。

转载于:https://www.cnblogs.com/acgoto/p/10610803.html

相关文章:

SpringBoot 中实现订单30分钟自动取消的策略

在电商和其他涉及到在线支付的应用中,通常需要实现一个功能:如果用户在生成订单后的一定时间内未完成支付,系统将自动取消该订单。本文将详细介绍基于Spring Boot框架实现订单30分钟内未支付自动取消的几种方案,并提供实例代码。

一键部署 SpringCloud 微服务,这套流程值得学习一波儿!

一键部署 springcloud 微服务,需要用到 Jenkins K8S Docker等工具。本文使用jenkins部署,流程如下图开发者将代码push到git运维人员通过jenkins部署,自动到git上pull代码通过maven构建代码将maven构建后的jar打包成docker镜像 并 push docker镜像到docker registry通过k8s发起 发布/更新 服务 操作其中 2~5步骤都会在jenkins中进行操作。

Rocksdb 的 rate_limiter实现 -- compaction限速

文章目录前言1. Compaction为什么会影响Client qps1.1 基本LSM介绍1.2 LSM internal ops1.3 长尾延时的原因2. Rate limiter 基本限速接口3. Rate Limiter 限速原理实现3.1 Rate Limiter的传入3.2 Rate Limiter 控制 sync datablock的速率3.3 Rate Limiter控制写入速率4. rocks…

Oracle --获取绑定变量的值.

SELECT * FROM DBA_HIST_SQLBIND WHERE SNAP_ID>67073 AND SNAP_ID<67079 AND SQL_ID3DR3410F086P4;SELECT * FROM v$sql_bind_capture where sql_id http://blog.itpub.net/22034023/viewspace-689802/ 通过v$sql_bind_capture视图&#xff0c;可以查看绑定变量&#xf…

计算机网络TCP/IP协议-从双绞线到TCP

消息响应也是同理,这种带端口的消息发送方式,其实就是UDP协议,UDP简单粗暴,但是UDP存在很多问题,所以我们需要设计一个稳定可靠的协议,TCP协议,首先,网络是不稳定的,我们发送的消息很有可能会在中途丢失,所以需要设置重试机制,当消息发送失败时重新发送,为了判断是否成功,还需要要求接收方收到消息后,必须发送确认消息,这样就可以保证消息必达,另外大段的内容发送,很容易造成部分丢失,导致全部内容都要重新发送,于是我们可以将数据分包,分成多个包发送。到这,也行你会发现了,演示中的IP地址是怎么设置的呢?

使用HTML CSS完成初步的页面,任务九:使用HTML/CSS实现一个复杂页面(示例代码)

任务目的通过实现一个较为复杂的页面&#xff0c;加深对于HTML&#xff0c;CSS的实战能力实践代码的复用、优化任务描述整个页面内容宽度固定&#xff0c;但头部的蓝色导航和浏览器宽度保持一致任务注意事项只需要完成HTML&#xff0c;CSS代码编写&#xff0c;不需要写JavaScri…

Yii-yiic使用

原文在&#xff1a;http://blog.sina.com.cn/s/blog_862b12fb0101n00v.htmlyii提供了强大的命令行工具来快速的创建相关组件和应用。下面就来讲解用yiic工具快速创建yii应用我的web目录在d:\ EasyPHP-DevServer\data\localweb下&#xff1b;yiiframework在D:\EasyPHP-DevServer…

nginx语法

一、 1. 配置文件由指令与指令块构成&#xff1b; 2. 每条指令以&#xff1b;分号结尾&#xff0c;指令与参数间以空格符号分隔&#xff1b; 3. 指令块以{} 大括号将多条指令组在一起&#xff1b; 4. include语句允许组合多个配置文件以提升可维护性&#xff1b; 5. 使用#符号添…

如何对 Rocksdb以及类似存储引擎社区 提出 有效的性能问题?

性能 是rocksdb的优点&#xff0c;活跃的社区十分欢迎大家对各自使用rocksdb 过程中性能相关的疑惑点进行提问。提问的时候如果能够提供更多&#xff0c;更详细的信息 是可以增加快速得到恢复回复的概率。当然&#xff0c;性能是一个非常广泛且有巨量影响因素的话题&#xff0c…

我已经喜欢上了Python

早就听说了Python语言&#xff0c;今天试了试&#xff0c;挺喜欢她了。 Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more information.&g…

layui跳转html如何带参数,Layui跳转页面代码(可携带复杂参数)

今天用了Layui的“数据表格 - 数据操作”示例代码&#xff0c;结果发现点击“编辑”按钮出出来一个弹出消息框&#xff0c;效果如下&#xff1a;虽然说也可以用“弹出层”做编辑页面&#xff0c;但是&#xff0c;由于我编辑的东西很多&#xff0c;用“弹出层”不太理想。我就想…

java获取日期

/* * 获取昨天日期 方法一&#xff0c;这个方法好像有点慢 */Date dt new Date(); Calendar cal Calendar.getInstance();cal.add(Calendar.DATE, -1);time new SimpleDateFormat( "yyyy-MM-dd").format(cal.getTime()); /* * 获取昨天日期 方法二 */Date as ne…

DRF (Django REST framework) 中的视图类

视图说明 1. 两个基类 1&#xff09;APIView rest_framework.views.APIView APIView是REST framework提供的所有视图的基类&#xff0c;继承自Django的View父类。 APIView与View的不同之处在于&#xff1a; 传入到视图方法中的是REST framework的Request对象&#xff0c;而不是…

Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序

文章目录为什么要学习 go开发环境搭建 -- MAC运行第一个go程序go 函数的返回值设置go 函数的命令行参数为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式计算集群多核硬件的架构web模式下的大规模开发和频繁的进度更新 所以go 语言有如下几个特点&#…

html生成的超级链接预览功能,超链接特效

功能说明超链接特效功能是基于报表特殊效果功能的一种扩展实现。报表特殊效果功能的作用是为单元格添加一些特殊的显示效果。超链接特效可以给超链接添加特殊显示效果&#xff0c;实现超链接功能的扩展增强。当产品默认生成的超链接显示效果不能满足用户的个性化需求时&#xf…

ROOT android 原理。 基于(zergRush)

出自&#xff1a; http://bbs.gfan.com/android-2996211-1-1.html 须要ROOT的同学请去上面的地址下载。 a.控制手机创建个暂时目录,然后把zergRush脚本写入此目录,并改动此文件权限使之能够运行(这一步无需ROOT权限); adb shell rm -r /data/local/tmpadb shell mkdir /data/lo…

Oracle数据库日常维护知识总结

DBA要定时对数据库的连接情况进行检查&#xff0c;看与数据库建立的会话数目是不是正常&#xff0c;如果建立了过多的连接&#xff0c;会消耗数据库的资源。同时&#xff0c;对一些“挂死”的连接&#xff0c;可能会需要DBA手工进行清理。首先要说的是&#xff0c;不同版本数据…

JAVA 第五周学习总结

20175304 2018-2019-2 《Java程序设计》第五周学习总结 教材学习内容总结 Java为什么要定义接口&#xff1a;接口的作用是实现多重继承&#xff0c;因为一个子类只能继承一个父类&#xff0c;但是可以实现一个或多个接口。使用关键字interface来定义一个接口&#xff0c;定义方…

Go: 分布式学习利器(2)-- Go中的变量,常量 以及与其他语言变量之间的差异

文章目录1. Go 语言编写测试代码2. Go 的变量3. Go 常量定义1. Go 语言编写测试代码 源码文件以 _test结尾&#xff1a; xxx_test.go测试方法名需以Test开头&#xff1a; func TESTXXX(t *testing.T) {..} &#xff0c;且参数列表直接用go 默认的test参数即可 如下first_test…

Scala:Functions and Closures

1 object Functions {2 def main(args: Array[String]) {3 // 本地函数4 def localFun(msg: String) println(msg)5 localFun("Hi")6 7 // 函数对象8 var list List(1, 2, 3)9 list.foreach((x: Int) > println(x)) 10 list.fore…

云计算机机房怎么样,如何知道云电脑配置多少?怎么选择云电脑机房?

一般在玩一款游戏时&#xff0c;需要考虑玩游戏的配置&#xff0c;云电脑帮助我们实现配置的需求&#xff0c;那如何才能知道云电脑配置是多少&#xff0c;该怎么选择云电脑机房。在使用云电脑时&#xff0c;我们不用考虑自己的手机、平板和电脑的硬件&#xff0c;只要设备能正…

eclipse中新建android项目,不自动生成R.java

http://huyuantai000.iteye.com/blog/1681582转载于:https://www.cnblogs.com/wmm3416/p/3386698.html

获取子iframe的属性

第一种方法&#xff1a; <iframe name"iframeName" src"http://www.test.com"></iframe> // name"iframeName" 取值 window.frames[iframeName] 第二种方法&#xff1a; <iframe id"iframeId" src"http://www.t…

Go: 分布式学习利器(3) -- Go的数据类型和运算符

文章目录1. Go的数据类型1.1 类型转化1.2 类型的预定义1.3 指针类型2. Go 的运算符1. Go的数据类型 GO的基本数据类型如下&#xff1a; bool string int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr byte // 基本和uint8 类型一样 rune // 代表unicode …

云职教课堂计算机文化基础,2020智慧职教云课堂计算机文化基础答案最新最全单元测试答案...

参考答案如下智慧职教最新最全【判断题】两种气体在相同温度下放入同一个容器中,测得的压强分别为 和 ,则把它们同时放入容器中后的总压强为 .云课【单选题】根据物质的导电能力,将物质分为哪些类别?A. 导体 B. 半导体 C. 绝缘体 D. 以上都对堂计【单选题】按照数的进位制概念…

测试用例挑选策略

在软件开发过程中&#xff0c;无论是在feature testing还是在final regression testing中&#xff0c;测试策略的好坏在整个质量保证过程中起着至关重要的作用&#xff0c;尤其是在测试资源有限的情况下&#xff0c;影响更为突出。好的测试策略能够更快速的发现软件最有value的…

php json josn_decode()返回的是对像,如何把对像转成数组

php json josn_decode()返回的是对像&#xff0c;如何把对像转成数组 a.php传值页面&#xff0c;使用 json_encode($array)对数组进行加密码. b.php页面在接收a.php传过来的页面的值使用的是 json_decode($array),发现解密出来的数据是对象形式的&#xff1a; array(2) {[0]>…

【题解】黑格覆盖

题目描述 在一张由MN个小正方形格子组成的矩形纸张上&#xff0c;有k个格子被涂成了黑色。给你一张由mn个同样小正方形组成的矩形卡片&#xff0c;请问该卡片最多能一次性覆盖多少个黑格子&#xff1f; 输入输出格式 输入格式 输入共k1行&#xff1a; 第1行为5个整数M、N、m、n…

Go 分布式学习利器(4)-- 条件和循环

文章目录1. 循环语句2. 条件语句2.1 if...else 条件2.2 switch 条件1. 循环语句 Go语言和其他语言在循环语句上的主要差异是 Go语言仅支持for关键字。 语法形式&#xff1a;for i : 5; i > 0; i--,不像其他语言有两个小括号左右围着。 两种不同的循环体语法如下&#xff1…

php 对象的执行

1.BNF范式 %token T_OBJECT_OPERATOR "-> (T_OBJECT_OPERATOR)"unticked_statement: | expr ; { zend_do_free(&$1 TSRMLS_CC); }expr:r_variable { $$ $1; }| expr_without_variable { $$ $1; } ;r_variab…