• Java项目出现的问题02----学习


    1 框架配置无.java

    在框架配置中当需要写类名是,注意是没有后面.java的

    2 类中找不到main方法请将main方法定义为public static void main.

    否则 JavaFX 应用程序类必须扩展javafx.application.Application

    今天在用spring框架的时候遇到了这个问题,原因是因为org.springframework.spring-library-3.1.0.M2.libd这个包出现了问题,只要在.classpath文件把其注释了即可

    <!--
    <classpathentry kind="lib" path="lib/org.springframework.spring-library-3.1.0.M2.libd"/>
    -->

    3 POI操作Excel时偶尔会出现Cannot get a text value from a numeric cell的异常错误。

    异常原因:Excel数据Cell有不同的类型,当我们试图从一个数字类型的Cell读取出一个字符串并写入数据库时,就会出现Cannot get a text value from a numeric cell的异常错误。

    解决方法:先设置cell类型,再读取

    1 设置类型 : cell0.setCellType(Cell.CELL_TYPE_STRING);
    2 读取 : student.setNumber(cell0.getStringCellValue());

    4 Java生成32位随机数

    /**
    * 生成32位编码
    * @return string
    */
    public static String getUUID(){
    String uuid = UUID.randomUUID().toString().trim().replaceAll("-", "");
    return uuid;
    }

    5 文本文档有乱码

     因为使用的Sublime Text这个工具它的编码格式和直接用文本文档打开的有所不同,它使用的utf-8而文本文档使用的ASIC码可能会有乱码,要注意

     7 POI操作Excel中有空指针异常

    原因: 某些单元格为空造成了空指针

    解决方法:对于整行为空的  if(sheet.getRow == null) 对于某个单元格为空的if (row.getCell(0) == null)  

    注意:要先判断是否整行为空,否则会报错的。因为当整行为空时是无法获取到单元格的

    8 清空数据表和删除数据表

    1  truncate是整体删除(速度较快), delete是逐条删除(速度较慢)

    2 truncate不激活trigger(触发器),但是会重置Identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数。而delete删除以后,Identity依旧是接着被删除的最近的那一条记录ID加1后进行记录。

    9 在有外键约束的情况下删除数据

     首先,在数据库中查看外键是否有效(没有设置之前都是有效),命令:select@@foreign_key_checks; 若显示值为1则表示外键有效此时不能删除数据。将外键的值设置为0,此时就是失效状态,命令:set foreign_key_checks = 0,这时就能删除数据了。删除之后,外键再设置为有效set foreign_key_checks = 1

    10 删除数据库中的一列

     alter table tablename drop columnname;

     11 hibernate操作数据库中的一对多与多对一

     当一对多设置外键时其外键仍然显示在多对一的表中,例如商品分类和商品表,设置商品分类的外键与商品建立联系发现外键会出现在商品表中,这和对商品设置外键多对一的形式上是一样的。虽然形式上一样但建立的外键关系不同。

     12 为什么Jsp可以执行java代码

     在执行的过程中jsp被翻译为了servlet,具体可参考servlet的执行流程。

     13 .jsp不被拦截

     直接在浏览器上输出.jsp的地址是不会被struts的过滤器拦截的,会直接找到相对应的jsp界面.直接输入项目名称会默认访问index.jsp界面

    14 @Test使用

    1 不要在main方法上加@test 2 不要把自己写的类命名为Test.java

    15 WEB-INF下的路径问题

    今天在how2j上的struts+hibernate项目中有一个在WEB-INF下有一个product文件夹下有一个list.jsp文件;在返回值时直接写的是<result name="listJsp">/product/list.jsp</result>运行后发现是404错误,最后发现是<result name="listJsp">WEB-INF/product/list.jsp</result>,应该写上WEB-INF路径,对于不同平台可能不同这一点要注意到。

    16 java.lang.IllegalArgumentException

    仔细看错误报告是在程序:

    ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"applicationContext.xml"}); 传入了错误参数,但在前面是程序就运行正常。后面发现是导入包的版本不支持JDK8的特性,因此需要重新导入版本比较新的包。在spring采用注解方式配置aop时出现了这个错误,因为一开始导入的包是视频里给的比较老了。

    17 c3p0连接池

    spring里的这个主要是用来根oracle交互的,用mysql可以不用管。

    18 org.springframework.dao.InvalidDataAccessResourceUsageException:异常

    这个是数据库出现了异常,可能是不是数据库里没有数据或者其他原因。我遇到的是数据库根本没有创建,然后查询抛出了这个异常。数据库没有被创建爱是因为因为数据库的版本不同没有添加在节点添加hibernate,可参考代码笔记springHibernate01项目的备注。此外要注意在数据库操作时一定要先有数据否则删除、查询可能会报错。 

    19 瞬时对象与持久对象

    当把鼠标放在属性管理、产品管理、编辑或者删除选项时,在其页面的右下角都会显示一行小字这个就是页面的瞬时对象。比如想要顺利的知道某一分类下的属性管理都有哪些就要把相应的瞬时对象改变为持久对象才能从数据库种读取数据。

    0

  • 相关阅读:
    Java输入/输出
    JSP第二天 JavaBean加强
    JSP 第一天学习
    java集合
    Github配置SSH Keys
    Android Fragment学习笔记
    Android开源资源整理
    centos终端显示字母重叠
    好用的log查看工具log2console
    .NET 日期转换
  • 原文地址:https://www.cnblogs.com/youngao/p/10464249.html
Copyright © 2020-2023  润新知