数据库bigint对应java?mybatis bigdecimal 对应什么类型
大家好,今天来为大家解答数据库bigint对应java这个问题的一些问题点,包括mybatis bigdecimal 对应什么类型也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
急需MySql数据库设计规范
1.数据表命名规范
模块名缩写_存储信息[_存储信息子类](多个单词用下划线分隔),全部小写,例如:b2c_goods_type
2.字段命名规范
存储信息属性(多个单词用下划线分隔),全部小写,命名规则只来自于业务,尽量表达出列的含义。
例如:goods_id
3.字段类型规范。
规则:用尽量少的存储空间来存数一个字段的数据.
比如能用int的就不用char或者varchar
能用tinyint的就不用int
能用 varchar(20)的就不用varchar(255)
时间戳字段尽量用int型,如 created:表示从'1970-01-01?08:00:00'开始的int秒数,采用英文单词的过去式;gmtCreated:表示datetime类型的时间,即形如'1980-01-01?00:00:00'的时间串,Java中对应的类型为Timestamp
日期:用date
时间:用time
数字格式的用:int、tinyint、mediumint、smallint、bigint根据实际情况选择
字符串:用char、varcahr;
文本:用text
金额:用float
电商项目---数据库表设计
CREATE TABLE `mmall_user`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT'用户表id',
`username` varchar(50) NOT NULL COMMENT'用户名',
`password` varchar(50) NOT NULL COMMENT'用户密码,MD5加密',
`email` varchar(50) DEFAULT NULL,
`phone` varchar(20) DEFAULT NULL,
`question` varchar(100) DEFAULT NULL COMMENT'找回密码问题',
`answer` varchar(100) DEFAULT NULL COMMENT'找回密码答案',
`role` int(4) NOT NULL COMMENT'角色0-管理员,1-普通用户',
`create_time` datetime NOT NULL COMMENT'创建时间',
`update_time` datetime NOT NULL COMMENT'最后一次更新时间',
PRIMARY KEY(`id`),
UNIQUE KEY `user_name_unique`(`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_product`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT'商品id',
`category_id` int(11) NOT NULL COMMENT'分类id,对应mmall_category表的主键',
`name` varchar(100) NOT NULL COMMENT'商品名称',
`subtitle` varchar(200) DEFAULT NULL COMMENT'商品副标题',
`main_image` varchar(500) DEFAULT NULL COMMENT'产品主图,url相对地址',
`sub_images` text COMMENT'图片地址,json格式,扩展用',
`detail` text COMMENT'商品详情',
`price` decimal(20,2) NOT NULL COMMENT'价格,单位-元保留两位小数',
`stock` int(11) NOT NULL COMMENT'库存数量',
`status` int(6) DEFAULT'1' COMMENT'商品状态.1-在售 2-下架 3-删除',
`create_time` datetime DEFAULT NULL COMMENT'创建时间',
`update_time` datetime DEFAULT NULL COMMENT'更新时间',
PRIMARY KEY(`id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_category`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT'类别Id',
`parent_id` int(11) DEFAULT NULL COMMENT'父类别id当id=0时说明是根节点,一级类别',
`name` varchar(50) DEFAULT NULL COMMENT'类别名称',
`status` tinyint(1) DEFAULT'1' COMMENT'类别状态1-正常,2-已废弃',
`sort_order` int(4) DEFAULT NULL COMMENT'排序编号,同类展示顺序,数值相等则自然排序',
`create_time` datetime DEFAULT NULL COMMENT'创建时间',
`update_time` datetime DEFAULT NULL COMMENT'更新时间',
PRIMARY KEY(`id`)
) ENGINE=InnoDB AUTO_INCREMENT=100031 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_order`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT'订单id',
`order_no` bigint(20) DEFAULT NULL COMMENT'订单号',
`user_id` int(11) DEFAULT NULL COMMENT'用户id',
`shipping_id` int(11) DEFAULT NULL,
`payment` decimal(20,2) DEFAULT NULL COMMENT'实际付款金额,单位是元,保留两位小数',
`payment_type` int(4) DEFAULT NULL COMMENT'支付类型,1-在线支付',
`postage` int(10) DEFAULT NULL COMMENT'运费,单位是元',
`status` int(10) DEFAULT NULL COMMENT'订单状态:0-已取消-10-未付款,20-已付款,40-已发货,50-交易成功,60-交易关闭',
`payment_time` datetime DEFAULT NULL COMMENT'支付时间',
`send_time` datetime DEFAULT NULL COMMENT'发货时间',
`end_time` datetime DEFAULT NULL COMMENT'交易完成时间',
`close_time` datetime DEFAULT NULL COMMENT'交易关闭时间',
`create_time` datetime DEFAULT NULL COMMENT'创建时间',
`update_time` datetime DEFAULT NULL COMMENT'更新时间',
PRIMARY KEY(`id`),
UNIQUE KEY `order_no_index`(`order_no`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=118 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_order_item`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT'订单子表id',
`user_id` int(11) DEFAULT NULL,
`order_no` bigint(20) DEFAULT NULL,
`product_id` int(11) DEFAULT NULL COMMENT'商品id',
`product_name` varchar(100) DEFAULT NULL COMMENT'商品名称',
`product_image` varchar(500) DEFAULT NULL COMMENT'商品图片地址',
`current_unit_price` decimal(20,2) DEFAULT NULL COMMENT'生成订单时的商品单价,单位是元,保留两位小数',
`quantity` int(10) DEFAULT NULL COMMENT'商品数量',
`total_price` decimal(20,2) DEFAULT NULL COMMENT'商品总价,单位是元,保留两位小数',
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY(`id`),
KEY `order_no_index`(`order_no`) USING BTREE,
KEY `order_no_user_id_index`(`user_id`,`order_no`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=135 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_cart`(
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`product_id` int(11) DEFAULT NULL COMMENT'商品id',
`quantity` int(11) DEFAULT NULL COMMENT'数量',
`checked` int(11) DEFAULT NULL COMMENT'是否选择,1=已勾选,0=未勾选',
`create_time` datetime DEFAULT NULL COMMENT'创建时间',
`update_time` datetime DEFAULT NULL COMMENT'更新时间',
PRIMARY KEY(`id`),
KEY `user_id_index`(`user_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=127 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_pay_info`(
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL COMMENT'用户id',
`order_no` bigint(20) DEFAULT NULL COMMENT'订单号',
`pay_platform` int(10) DEFAULT NULL COMMENT'支付平台:1-支付宝,2-微信',
`platform_number` varchar(200) DEFAULT NULL COMMENT'支付宝支付流水号',
`platform_status` varchar(20) DEFAULT NULL COMMENT'支付宝支付状态',
`create_time` datetime DEFAULT NULL COMMENT'创建时间',
`update_time` datetime DEFAULT NULL COMMENT'更新时间',
PRIMARY KEY(`id`)
) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_shipping`(
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL COMMENT'用户id',
`receiver_name` varchar(20) DEFAULT NULL COMMENT'收货姓名',
`receiver_phone` varchar(20) DEFAULT NULL COMMENT'收货固定电话',
`receiver_mobile` varchar(20) DEFAULT NULL COMMENT'收货移动电话',
`receiver_province` varchar(20) DEFAULT NULL COMMENT'省份',
`receiver_city` varchar(20) DEFAULT NULL COMMENT'城市',
`receiver_district` varchar(20) DEFAULT NULL COMMENT'区/县',
`receiver_address` varchar(200) DEFAULT NULL COMMENT'详细地址',
`receiver_zip` varchar(6) DEFAULT NULL COMMENT'邮编',
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY(`id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;
GitHub地址:https://github.com/Andy-leoo/NewBieJavaPro.git
mybatis bigdecimal 对应什么类型
在实际项目开发过程中,数据库dao层的增删改查操作,都要接收到前端页面传递过来的参数,然后再进行操作,那么在使用Mybatis数据库框架进行开发时,底层dao的参数传递怎么处理呢?
Mybatis传递参数有以下五种方式可以实现,下面以员工操作为例,看看具体的操作方式。
第一种方式使用顺序传递参数
EmployeeMapper.java文件:
EmployeeMapper.xml文件:
注意:xml里面的param1,param2的数字代表方法传入参数的顺序,必须严格按照参数顺序来引用,缺点呢不够灵活,而且特别参数个数多的时候也不是很方便。
第二种方式使用Mybatis自带的注解@Param传递参数
这种方式来传递参数,可以在xml文件中按照参数名称去引用。
EmployeeMapper.java文件:
EmployeeMapper.xml文件:
注意:在mapper.xml文件中sql语句参数变量名称要和@Param注解中定义的参数名称一样。
第三种方式使用Map集合传递参数
实际开发中当前端页面传递多个参数时,使用Map集合操作是一种推荐的方式。
EmployeeMapper.java文件:
EmployeeMapper.xml文件:
在上面的例子中可以看到使用map集合来传递多个参数进行查询,可以直接在sql语句中使用参数名称进行引用。
第四种方式使用JavaBean实体类传递参数
使用JavaBean实体类的方式来传递多个参数,使用时parameterType参数类型指定为对应的JavaBean实体类类型,sql语句中使用参数名称进行引用。
EmployeeMapper.java文件:
EmployeeMapper.xml文件:
第五种方式传递集合类型参数List集合
在一些复杂的操作中,比如下面的批量添加操作,传统的参数传递已无法满足需求,这时候就要用到List集合类型的参数传递,具体使用如下:
EmployeeMapper.java文件:
EmployeeMapper.xml文件:
好了,关于数据库bigint对应java和mybatis bigdecimal 对应什么类型的问题到这里结束啦,希望可以解决您的问题哈!