记自己完整开发一个小功能

1、对象类有两种,一种是传给前端的VO,每个接口可能返回的不一样,可以写多个;一种是给数据库的,这种要全一点,update的时候将VO转换成info的进行update

2、mybatis中语句最后不用加分号,虽然在数据库中进行语句查询没有错误,但是mybatis中并不需要,要不然就出错了

3、针对1/2,返回给前端的VO是不同的,所以从数据库查的数据也要做区分,写多个<result>,不要传不必要的数据

4、对于禁用启用、隐藏显示这样的要设置成byte类型,比较省空间   byte-Byte-tinyint

      有个问题就是从前端传过来的status为String类型,将String转为byte就很烦,我先将String转为Integer,然后再转成byte

String status = "0";

Integer status = Integer.parseInt(status);

byte  ss = (byte) status.intValue();

5、记得加注解,在controller类中加@Controller,在impl实现类中加@Service,在Mapper中加@Mapper,如果在Mapper接口中没有加上@Mapper的话,就扫不到它

     在我们项目中是做了个mapper扫描的配置,

@Configuration
@MapperScan(basePackages = {
    "con.sdsd.sds.sd.a.dao",
    "con.sdad.sda.da.b.dao"    
},sqlSessionTemplateRef="**"

每当写一个module时,都需要在这里添加上,像我这种新手,就不知道!,所有要扫描包的两种方法,一种加@Mapper,一种在这里配置@MapperScan

6、术语:ddl  建表语句    dml:修改表语句

     在进行数据库操作时,秉承的原则:

      (1)对于新建表,要先写 drop table if exists 'table_nale'

               然后再新建表  create table 'table_name'()

               对于0  1的判断字符,可以用tinyint

               对于时间,用timestamp

               总的表的default_charset用utf8mb4

          

/*
database=
tablename=
*/
CREATE TABLE 'distribution_activity'(
    'id' int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
    'update_time' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE_TIMESTAMP COMMENT '更新时间',
    'create_time' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMNET '创建时间',
    'activity_id' varchar(32) NOT NULL COMMNET '分销渠道id',
    
    PRIMARY_KEY('id'),     写上主键
    KEY 'idx_uptime'('update_time')  ,   (记得加逗号) 
    KEY 'idx_crtime'('create_time')   增加这两个索引,因为查询的时候经常会按照时间进行查询,会快
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='分销活动'

(2)在原有表上增加一列

alter table t_iteminfo add is_image tinyint default 1;(设置了默认值)

(3)在表里插入一条数据

插数据的时候要主要先delete,防止重复插入错误

delete from t_resource where id=27;
insert into t_resource (id,resource_code,order_no) values (1,2,3)

(4)在表里更新数据就直接更新即可

循环插入列表

<!-- 插入信息列表 -->
<insert id="insertItem" parameterType="java.util.List">
    insert into t_item_image_url
    (   
        item_id,
        image_text,
        article_url,
    )
    values
    <foreach collection="list" item="item" index= "index" separator =",">
    (
        #{item.itemId},
        #{item.imageText},
        #{item.articleUrl}
    )
    </foreach>

</insert>

(item是每次迭代的代号,所以下面要带上前置,item的ItemId,要不然不知道ItemId是啥)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值