【博学谷学习记录】超强总结,用心分享 | 第5周:JavaWeb常见错误

这两周主要在学习一些JavaWeb相关的知识,里面的内容主要涉及到记忆,纯技术部分的难度不是很大。

这里记录一些常犯的错误。

1.MySQL语句错误

SQL语句对于准确性要求很高,写错之后的提示不会很明显,所以平时练习时,要多加注意。每个都要以分号结尾。

创建和删除数据库时,可以加入exists的判断,不要忘记最后的S

CREATE DATABASE IF NOT EXISTS XXX;
DROP DATABASE IF EXISTS XXX;

选择数据库,或者使用数据库的语法和普通不太一样。要加括号,或者不加DATABASE关键字

SELECT DATABASE();
USE XXX;

修改表单属性的开头为ALTER TABLE XXX + 具体修改名称

ALTER TABLE XXX RENAME TO ... 
ALTER TABLE XXX ADD ...
ALTER TABLE XXX MODIFY ...
ALTER TABLE XXX CHANGE ...
ALTER TABLE XXX DROP ...

2.MyBatis的ResultMap

项目的pojo类中的属性和数据库里保存的字段可能出现差别。

比如,pojo里是brandName,但数据库里是brand_name,这样的话,如果用MyBatis来查询,就会出现查不到的情况。

这个时候,可以在Mapper.xml里面设置ResultMap,把两者联系起来。

<resultMap id="brandResultMap" type="brand">
        <result column="brand_name" property="brandName"></result>
        <result column="company_name" property="companyName"></result>
</resultMap>

3.sqlSession后续处理

在使用MVC框架来处理web请求时,会用到MyBatis来生成sqlSession来和数据库做互动。

查询的时候,不需要提交事务,但查询过后,要记得把sqlSession关闭。

public List<Brand> selectAll(){

        SqlSession sqlSession = factory.openSession();

        BrandMapper mapper = sqlSession.getMapper(BrandMapper.class);

        List<Brand> brands = mapper.selectAll();

        sqlSession.close();

        return brands;
    }

如果涉及到添加或者删除数据,除了最后一步的close之外,还得记得提交事务,否则无法完成添加或删除的动作。

public void add(Brand brand){

        SqlSession sqlSession = factory.openSession();

        BrandMapper mapper = sqlSession.getMapper(BrandMapper.class);

        mapper.add(brand);

        sqlSession.commit();

        sqlSession.close();

    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值