0. 新建数据库表t_address和实体类
CREATE TABLE t_address(
aid INT AUTO_INCREMENT COMMENT '收获地址id',
uid INT COMMENT '归属的用户id',
name VARCHAR(20) COMMENT '收货人姓名',
province_name VARCHAR(15) COMMENT '省-名称',
province_code CHAR(6) COMMENT '省-行政代号',
city_name VARCHAR(15) COMMENT '市-名称',
city_code CHAR(6) COMMENT '市-行政代号',
area_name VARCHAR(15) COMMENT '区-名称',
area_code VARCHAR(6) COMMENT '区-行政代号',
zip CHAR(6) COMMENT '邮政编码',
address VARCHAR(50) COMMENT '详细地址',
phone VARCHAR(20) COMMENT '手机号码',
tel VARCHAR(20) COMMENT '固话',
tag VARCHAR(6) COMMENT '标签',
is_default INT COMMENT '是否默认,0-不默认,1-默认',
create_by VARCHAR(20) COMMENT '创建人',
create_time DATETIME COMMENT '创建时间',
modify_by VARCHAR(20) COMMENT '修改者',
modify_time DATETIME COMMENT '修改时间',
PRIMARY KEY (aid)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
实体类
1. 持久层
1. 规划需要执行的sql语句
- 插入数据:insert into t_address(…) values(…)
- 一个用户的收获地址最多有20个,在插入之前先做查询:
select count(*) t_address where uid=?
2. 接口与抽象方法
package com.cy.store.mapper;
import com.cy.store.entity.Address;
public interface AddressMapper {
/**
* 插入用户的收获地址数据
* @param address
* @return
*/
Integer insert(Address address);
/**
* 根据uid统计用户的收货地址数量
* @param uid
* @return
*/
Integer countByUid(Integer uid);
}
3. sql映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cy.store.mapper.AddressMapper">
<resultMap id="BaseResultMap" type="com.cy.store.entity.Address"