numeric对应java啥类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numeric对应java啥类型相关的知识,希望对你有一定的参考价值。

SQL的DECIMAL 和 NUMERIC通常用来表示需要一定精度的定点数。在Java的简单数据类型中,没有一种类型与之相对应。但从JDK1.1开始,Sun公司在java.math.*包中加入了一个新的类BigDecimal,该类的对象可以与DECIMAL 、NUMERIC进行转换。
另外,当从数据库管理系统中读取数据时,还可以用getString()方法来获取DECIMAL 和 NUMERIC。
参考技术A 因为long为长整型数据类型,所以mysql对应的是bigint或者numeric(x,y)也可以。bigint:字节8个,当需要存储超大的整数才用。numeric(x,y):其中x代表精度,y代表标度,精度表示保存值的主要位数,标度表示小数点后面可以保存的位数。你可以自定义你想要数据的大小。

mybatis bigdecimal 对应啥类型

SQL数据类型和Java数据类型的对应关系
integer、int ---> int
tinyint、smallint ---> short
bigint ---> long
decimal、numeric ---> java.math.BigDecimal
float ---> float
double ---> double
char、varchar ---> String
boolean、bit ---> boolean
date ---> java.sql.Date
time ---> java.sql.Time
timestamp ---> java.sql.Timestamp
blob ---> java.sql.Blob
clob ---> java.sql.Clob
array ---> java.sql.Array
参考技术A 在实际项目开发过程中,数据库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文件:
参考技术B mybatis中 jdbcType 时间类型
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
1
1
当 jdbcType = TIMESTAMP , 年月日+ 时分秒 例: 2019-02-28 09:56:11

<result column="create_time" property="createTime" jdbcType="DATE"/>
1
1
当jdbcType=”DATE” 都忽略了 时分秒, 无论是否有时分秒,都设置为了 00:00:00。例: 2019-02-28 00:00:00

2.JdbcType类型和Java类型的对应关系

1 JDBC Type Java Type
2 CHAR String
3 VARCHAR String
4 LONGVARCHAR String
5 NUMERIC java.math.BigDecimal
6 DECIMAL java.math.BigDecimal
7 BIT boolean
8 BOOLEAN boolean
9 TINYINT byte
10 SMALLINT short
11 INTEGER INTEGER
12 BIGINT long
13 REAL float
14 FLOAT double
15 DOUBLE double
16 BINARY byte[]
17 VARBINARY byte[]
18 LONGVARBINARY byte[]
19 DATE java.sql.Date
20 TIME java.sql.Time
21 TIMESTAMP java.sql.Timestamp
22 CLOB Clob
23 BLOB Blob
24 ARRAY Array
25 DISTINCT mapping of underlying type
26 STRUCT Struct
27 REF Ref
28 DATALINK java.net.URL[color=red][/color]
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
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
3.在Mybatis也明文建议在映射字段数据时需要将JdbcType属性加上,当传入字段值为null时. 会报错。
参考技术C resultType="java.math.BigDecimal"

以上是关于numeric对应java啥类型的主要内容,如果未能解决你的问题,请参考以下文章

mysql中的longblob对应java中的啥类型

numeric 在Java中怎么定义,是啥类型的呢? float?还是double?还是long呢?

numeric是啥类型?

longtext对应mybatis啥类型

mybatis bigdecimal 对应啥类型

mysql enum 对应mybatis啥类型