hibernate与mysql映射类型对应表与mysql导入导出

http://blog.sina.com.cn/s/blog_5f240fc40100etlt.html


一、记录下hibernate mysql映射类型对应表:
1.常规Hibernate 映射

 

integer 或者 int

int 或者 java.lang.Integer

INTEGER

4 字节

long

long  Long

BIGINT

8 字节

short

short  Short

SMALLINT

2 字节

byte

byte  Byte

TINYINT

1 字节

float

float  Float

FLOAT

4 字节

double

double  Double

DOUBLE

8 字节

big_decimal

java.math.BigDecimal

NUMERIC

NUMERIC(8,2)8 位

character

char  Character  String

CHAR(1)

定长字符

string

String

VARCHAR

变长字符串

boolean

boolean  Boolean

BIT

布尔类型

yes_no

boolean  Boolean

CHAR(1) (Y-N)

布尔类型

true_false

boolean  Boolean

CHAR(1) (T-F)

布尔类型

 

2 、 Java 时间和日期类型的 Hibernate 映射

 

映射类型

Java 类型

标准 SQL 类型

描述

date

util.Date 或者 sql.Date

DATE

YYYY-MM-DD

time

Date    Time

TIME

HH:MM:SS

timestamp

Date   Timestamp

TIMESTAMP

YYYYMMDDHHMMSS

calendar

calendar

TIMESTAMP

YYYYMMDDHHMMSS

calendar_date

calendar

DATE

YYYY-MM-DD

 

3 、 Java 大对象类型的 Hibernate 映射类型

 

映射类型

Java 类型

标准 SQL 类型

MySQL 类型

Oracle 类型

binary

byte[]

VARBINARY( 或 BLOB)

BLOB

BLOB

text

String

CLOB

TEXT

CLOB

serializable

Serializable 接口任意实现类

VARBINARY( 或 BLOB)

BLOB

BLOB

clob

java.sql.Clob

CLOB

TEXT

CLOB

blob

java.sql.Blob

BLOB

BLOB

BLOB

 

在程序中通过 Hibernate 来保存 java.sql.Clob 或者 java.sql.Blob 实例时,必须包含两个步骤:

1.在一个数据库事务中先保存一个空的 Blob 或 Clob 实例。

2.接着锁定这条记录,更新上面保存的 Blob 或 Clob 实例,把二进制数据或文本数据写到 Blob 或 Clob 实例中

 

 

二、mysql数据库导入导出

1.导出整个数据库:
mysqldump -u 用户名 -p 数据库名 > 导出的文件名

如:
在mysql的bin目录里面执行如下命令
C:\MySQL\MySQL Server 5.0\bin>mysqldump -u root -p testdb > testdb.sql
Enter password:

C:\MySQL\MySQL Server 5.0\bin>

 


2.导出表
格式:mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
举例:表结构与上面的相同,命令如下:
C:\MySQL\MySQL Server 5.0\bin>mysqldump -u root -p testdb user > user.sql
Enter password:

C:\MySQL\MySQL Server 5.0\bin>


3.导入数据库
mysql> use testdb;
Database changed
mysql> source testdb.sql;


ALTER TABLE lanke_news DROP COLUMN script_id;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hibernate ,Java 的基本数据类型对应的包装类是可以互换使用的,但是在进行字段映射时,需要注意以下几点: 1. 建议使用包装类,避免空指针异常:在 Java ,基本数据类型是不能为 null 的,但是包装类可以为 null。在进行数据库操作时,如果使用基本数据类型,当数据库对应的字段为 null 时,就会抛出空指针异常。因此建议使用包装类,可以避免这种异常的出现。 2. 数据库的字段类型要和 Java 类型一致:在进行字段映射时,需要确保数据库的字段类型和 Java 类型一致,否则可能导致数据类型转换异常。 3. 对于布尔类型的字段,建议使用包装类 Boolean:因为在数据库,布尔类型的字段通常使用 tinyint(1) 类型表示,如果使用基本数据类型 boolean 进行映射,会导致数据类型转换异常。 4. 对于数值类型的字段,建议使用包装类:因为在数据库,数值类型的字段通常会有默认值,如果使用基本数据类型进行映射,当数据库对应的字段为 null 时,就会使用默认值进行赋值,而这个默认值可能会影响业务逻辑的正确性。 下面是一个示例代码,演示了如何在 Hibernate 进行字段映射: ``` @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "username") private String username; @Column(name = "age") private Integer age; @Column(name = "is_admin") private Boolean isAdmin; // getter 和 setter 方法省略 } ``` 在上面的示例,我们使用了包装类 Integer 和 Boolean 进行字段映射,避免了空指针异常和数据类型转换异常的问题。同时,我们还指定了数据库对应的字段名,确保了数据类型一致。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值