医疗项目注意事项

1. 页面数据写入数据库乱码?

在这里插入图片描述
在这里插入图片描述

2. 页面的response信息是哪来的?

在这里插入图片描述

在这里插入图片描述

3. zookeeper连不上、dubbo服务不可用?

在这里插入图片描述

4. 什么时候用autowired 还是reference?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在一个工程里用autowired,不在一个工程里用reference

5. 如果一个云服务器上有多个人使用,调用服务的时候可能会调到其他人的服务,

所以指定应用名称要不一样
在这里插入图片描述

6. 加了事务注解,必须明确实现的是哪个类

在这里插入图片描述

7. pojo类注意:

  1. 要实现 Serializable接口 public class CheckItem implements Serializable
  2. 定义基本数据类型,建议使用包装类。
  3. 在使用小数时,不建议使用float和double,由于java中存储的是近似值,因此计算会出现问题。
    一般使用
BigDecimal big = new BigDecimal(8.8);
        BigDecimal big1 = new BigDecimal(2);
        System.out.println(big.divide(big1).floatValue());
        //除法也是近似值,但转成float就为4.4了

8. 注解RestController和RequestBody

由于RestController注解,将返回的对象自动转成json到页面上
RequestBody :传过来是一个json,注解RequestBody是必须的,转成pojo对象

@RestController //由于RestController注解,将返回的对象自动转成json到页面上
@RequestMapping("/checkitem")
public class CheckItemController {
    
    
    @Reference  //到zookeeper服务注册中心查找 CheckItemService 服务
    private CheckItemService checkItemService;

    /**
     * 新增检查项
     * 将页面得到的数据写入数据库
     * @param checkItem
     * @return
     */
    @RequestMapping("/add")
    public Result add(@RequestBody CheckItem checkItem){
    
     //checkitem.html页面ajax提交的formData,形参是实体类 CheckItem
        //@RequestBody 将页面的json封装成后端需要的形式
        try{
    
      //如何知道服务调用没调用成功,用try catch,成功就执行,没成功就catch
            checkItemService.add(checkItem);
        }catch (Exception e){
    
    
            e.printStackTrace();
            //服务调用失败
            return new Result(false, MessageConstant.ADD_CHECKITEM_FAIL);
        }
        return new Result(true,MessageConstant.ADD_CHECKITEM_SUCCESS);
    }
}

9. 如何测试步骤

maven上parent—>Lifecycle —> install
先启动provider,在启动backend

10. 页面缓存出现的问题?web页面报错查询方式?

保错信息:
在这里插入图片描述
html页面的代码改了多次,但是在编辑检查项时,仍出现问题,经过报错信息发现,改过的代码在浏览器中的报错的代码是没改过的版本,是浏览器缓存的问题,清理一下就解决了。

11. 出现功能穿插,检查组的html页面需要查询所有的检查项,

axios请求应请求检查项的controller,而不是检查组的controller。也就是说,检查项的controller的操作检查项的,检查组的controller是操作检查组的。

12. Vue中 :for勾选框

在这里插入图片描述
v-model 是绑定的数据
type:checkbox 复选框
value:是值
:for 对框进行勾选

13. 发送ajax请求,前面是一个数组,后面是json

在后台时,前面数组不用加@RequestBody,json用加
在这里插入图片描述

14. 中间表,两个id,多对多的关系,item的id来自页面,group的id是存储数据然后自增,如何得到

在这里插入图片描述
在添加完信息之后,才得到自增的id
根据通过mybatis框架提供的selectKey标签获得自增的ID值
函数:LAST_INSERT_ID() : 返回刚产生的id

然后在实现类就可通过getId得到
在这里插入图片描述
在这里插入图片描述

15. 在jdbc提交数据时,见上图是for循环每次提交,对性能有影响吗?

目前数据量少没影响,但是数据量很大时,会对性能有影响,可采用jdbc批量提交,由于是批量提交,就无法自动提交了,需手动提交。

16. 注意创建变量在循环外面,节省栈内存

一个map占4个字节,如果在循环里面创建,占用的栈内存空间循环次数 成乘以 4字节。

在这里插入图片描述

17. controller中的注解是@RestController不是@Controller

在这里插入图片描述

否则,前端页面报错 404 找不到add源,但是数据已经写到数据库里了。对业务操作没什么影响
dubbo的控制台会出现Failed to meta-introspect annotation interface org.springframework.web.bind.annotation.RequestBody: 空指针异常。

@Controller就是实例化。
@ResponseBody是返回一个响应。因为图中有return ,所以如果没有的话会报错404.
@RestController是@Controller + @ResponseBody。

18. 分页查询总结

在这里插入图片描述
在这里插入图片描述

19. 分页助手查询报空指针异常

在前端页面的pageSize:10,但是传到后端就为null
在这里插入图片描述

20. 在修改一对多或者多对多的关联关系如何操作

一般是,删除原有的关联关系delete,然后在重新插入新的关联关系

21. 七牛云文件上传Zone.zone1:华北 注意版本(新版本Region)

报错:{“error”:“incorrect region, please use up-z1.qiniup.com”}
原因:创建七牛云存储空间时选择了华北地区,但上传文件的配置类中配置了其他地区
//Zone.zone0:华东
//Zone.zone1:华北
//Zone.zone2:华南
//Zone.zoneNa0:北美
Zone.autoZone()自动

22. 在文件上传时,要在springmvc.xml配置一个文件上传组件

<!--文件上传组件-->
    <bean id="multipartResolver"
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="maxUploadSize" value="104857600" />
        <property name="maxInMemorySize" value="4096" />
        <property name="defaultEncoding" value="UTF-8"/>
    </bean>

23. redis的使用

在使用redis时,解压运行就行。
注意要有redis的配置文件spring-redis.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:p="http://www.springframework.org/schema/p"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                         http://www.springframework.org/schema/beans/spring-beans.xsd
        				http://www.springframework.org/schema/mvc
                         http://www.springframework.org/schema/mvc/spring-mvc.xsd
        				http://code.alibabatech.com/schema/dubbo
                         http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        				http://www.springframework.org/schema/context
                         http://www.springframework.org/schema/context/spring-context.xsd">

    <!--Jedis连接池的相关配置-->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxTotal">
            <value>200</value>
        </property>
        <property name="maxIdle">
            <value>50</value>
        </property>
        <property name="testOnBorrow" value="true"/>
        <property name="testOnReturn" value="true"/>
    </bean>
    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
        <constructor-arg name="poolConfig" ref="jedisPoolConfig" />
        <constructor-arg name="host" value="192.168.0.108" />
        <constructor-arg name="port" value="6379" type="int" />
        <constructor-arg name="timeout" value="30000" type="int" />
    </bean>
</beans>

还要在springmvc.xml中引用,这是因为web.xml中加载配置文件的路径是
在这里插入图片描述
引用代码为:

<import resource="spring-redis.xml"/>

如果web.xml文件加载配置文件为spring*.xml就能加载spring-redis.xml文件,而不用在springmvc.xml中加载了。

猜你喜欢

转载自blog.csdn.net/qq_41997237/article/details/118359618