记录


  • 首页

  • 归档

练手项目日记(四)

发表于 2018-05-14
今天学到的东西:
  1. mybatis报错了

    Parameter ‘0’ not found. Available parameters are [arg1, arg0, param1, param2]

    之前是这样写的:

    1
    2
    3
    update tbXX
    set AA = #{0}
    where II = #{1}

    之后就报了上面的错误,后来改成了:

    1
    2
    3
    update tbXX
    set AA = #{arg0}
    where BB = #{arg1}

    看到网上的原因是新版本不能使用#{0},要使用 #{arg0}。

    ​

  2. Mapper.xml文件里的注释问题

    ​ 因为我会在写出有bug的语句时候把他们注释起来,下次看到了以后可以知道之前错在哪里了。这次的问题就处在这里,用了注释的快捷键,是这样注释的:

    1
    2
    3
    4
    5
    <update id="someId">
    -- update tbXX
    -- set AA = #{0}
    -- where II = #{1}
    </update>

    ​ 结果还是运行了,出错了。这里自动用了sql的注释语句,可能是在mapper.xml里写的原因,所以不可以这样用,所以就搬到标签外面注释了,用了xml的注释语句:

    1
    2
    3
    <!--update tbXX-->
    <!--set AA = #{0}-->
    <!--where II = #{1}-->

    ​

练手项目日记(三)

发表于 2018-05-12
今天学到的东西:
  1. mysql用了关键字。

    之前改了一个东西,用到了关键字,所以报错了,大概是这样的:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘XXX’ at line 1

    这时候有两种办法,一是可以改列名,二是用”`”把词给包起来。

    具体有哪些是关键字或者是保留字,关键字和保留字可以在网上搜到很多。

  2. 遇到了空指针问题

    exception [Request processing failed; nested exception is java.lang.NullPointerException]

    一次是因为

    1
    private UserService userService;

    这里没有加上@Autowired来装配

    1
    2
    @Autowired
    private UserService userService;

    ​

    还有一次是因为这样写了:

    1
    2
    3
    AA aa = null;

    aa.setXX("XX");

    这样空指针了,应该这样写:

    1
    2
    3
    AA aa = new AA();

    aa.setXX("XX");

    ​

练手项目日记(二)

发表于 2018-05-08
今天学到的几个小东西:
  1. textarea标签里输出数据。

    因为textarea里的文本都是直接输出的,所以这样:

    1
    2
    3
    <textarea>
    ${sth.getSth()}
    </textarea>

    或者是这样:

    1
    2
    <textarea value="${sth.getSth()}">
    </textarea>

    肯定是不行的,后来这样做解决了问题:

    1
    2
    3
    <textarea>
    [[${sth.getSth()}]]
    </textarea>

    ​

  2. servlet显示弹窗而不是直接跳转看不到弹窗

    之前的方法里是这样写的:

    1
    2
    3
    4
    5
    6
    7
    response.setContentType("text/html;charset=utf-8");

    PrintWriter out = response.getWriter();
    out.write("<script>alert('OK!');</script>");
    out.close();

    response.sendRedirect("/anywhere.youwant");

    这样会弹窗后跳转失败。

    ​

    如果这里去掉close:

    1
    2
    3
    4
    5
    6
    response.setContentType("text/html;charset=utf-8");

    PrintWriter out = response.getWriter();
    out.write("<script>alert('OK!');</script>");

    response.sendRedirect("/anywhere.youwant");

    会看不到弹窗而直接跳转。

    ​

    后来这样写弹窗成功并跳转成功:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    response.setContentType("text/html;charset=utf-8");

    PrintWriter out = response.getWriter();
    out.write("<script>alert('OK!');" +
    "window.location='/anywhere.youwant' ;" +
    "window.close()" +
    "</script>");

    out.close();

    ​

练手项目日记(一)

发表于 2018-04-25

​ 这是一个在github上写的练手项目,是边学边做的,所以肯定会遇到很多问题,而且会有很多的学到的知识点,所以就在这里记录了。

​ 今天想做的是一个分页的功能,网上看了很多的资料,发现看到的资料很多,但是其实有效的就那么几个。花了很多时间在不必要的东西上,想到如果有个引路人真的很重要啊!

今天学到的几个小东西:
  1. mybatis里用sql标签来让很长的代码重复利用。

    比如:

    1
    2
    3
    4
    5
    6
    7
    8
    9
     <sql id="base_column">
    num , `name` , `type` , brand , specification , `count` , price , reporter , location , shelf_life , production_date
    </sql>

    <insert id="add_one_item" parameterType="Item">
    insert into tbItem (<include refid="base_column"/>)
    -- ( num , `name` , `type` , brand , specification , `count` , price , reporter , location , shelf_life , production_date)
    values ( #{num} , #{name} , #{type} , #{brand} , #{specification} , #{count} , #{price} , #{reporter} , #{location} , #{shelf_life} , #{production_date})
    </insert>

    ​

    这样可以减少一些代码量。

    ​

  2. 使用 lombok来减少代码的冗长

    比如:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    package com.x.ms.domain;

    import lombok.Getter;
    import lombok.Setter;

    @Getter
    @Setter
    public class User {
    private int userId;
    private String username;
    private String password;
    private int userSign = 0;

    }

    ​

  3. 今天还遇到一个小插曲

    ​ 在双屏幕变成单屏幕的时候写这个markdown文件的编辑器Typora卡到了屏幕外面,而且重启无效,重装无效。

    ​ 之后是用下面这样的方法解决的:

    • 右键“属性”
    • 运行方式改一下
    • 运行,可以正常看到程序窗口了
    • 运行方式改回去
    • 解决
希望明天可以把分页做出来

​ 明天应该会学习使用这个mybatis的分页插件

第一次用IntelliJ IDEA遇到的问题

发表于 2018-03-26

​ 之前使用的都是Eclipse,因为看到了很多人说使用了IntelliJ IDEA进行编程,所以试用一下,之后遇到了几个小问题。

  1. 使用Spring Initializr搭建 Spring boot 项目时出现“Initialization failed for ‘https://start.spring.io' Please check URL, network and proxy settings”

    ​

    搜到了两种解决办法

    • 在StackOverflow上搜到的方法

      try to use ‘http://start.spring.io’ instead of ‘https://start.spring.io’. it works for me.

      看到了很多人使用了这个方法解决了。

    • 还有一种方法就是在IntelliJ IDEA上设置代理

      Configure→Settings→搜索 HTTP Proxy→设置代理

    ​

    我用的是很笨的方法:回上一步,重复几次,直到成功。

    哈哈哈哈

    ​

    ​

  2. 创建出项目没有src目录
  3. Maven下载慢

    ​

​ 这两个问题有个通用的解决办法——配置Maven国内镜像

​

​ 在Maven的settings.xml文件中的之间添加镜像,找到了下面这些,肯定不止这些还有其他的镜像。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>
http://maven.aliyun.com/nexus/content/groups/public/
</url>
</mirror>

<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>

<mirror>
<id>mvn</id>
<mirrorOf>central</mirrorOf>
<name>mvnrepository</name>
<url>http://mvnrepository.com/</url>
</mirror>

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

<mirror>
<id>uk</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://uk.maven.org/maven2/</url>
</mirror>

<mirror>
<id>CN</id>
<name>OSChina Central</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>

以上!

Hello World!

发表于 2018-03-19

Across the Great Wall we can reach every corner in the world.

tinyperson

6 日志
© 2018 tinyperson
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4