sqlserver字段类型对应mysql_Mysql/SQLServer数据类型与java基本数据类型的对应

本文介绍了Mysql和SQLServer数据类型与Java基本数据类型的对应关系,包括INTEGER、BINARY、DECIMAL等,并提供了一张详细的对应表格,帮助开发者在操作数据库时选择正确的PreparedStatement set方法。
摘要由CSDN通过智能技术生成

问题描述:

假如现在你要对mysql数据库进行插入操作。因为要插入很多数据,为了效率,因此,你创建了一个PreparedStatement:insert into table values(?,?,?,?,?)

其中table表各列的数据类型分别为INTEGER,BIGINT,CHAR,TEXT,BINARY

现在你要向创建的PreparedStatement中的五个 ? 赋值。你已经知道PreparedStatement类有setBlog()、setBoolean()、setInt()、setDate()、setFloat()等等set方法,但是当你要向一个Mysql数据类型为BINARY的列赋值是,你不知道用PreparedStatement类的哪个set方法,setInt()?setString?还是setBytes()?没错,是setBytes()方法。可是如果mysql类型是decimal呢?是image呢?是bit呢?这个时候,如果你手里有一张Mysql/SQLServer数据类型与java基本数据类型的对应关系的表,那么一切问题都迎刃而解了。

好了,废话不多说,下面的列表就给出了Mysql/SQLServer数据类型与java基本数据类型的对应,而且给出了用整型表示的列类型和列名。有了这张表,以后调用set方法就有据可循了:

****************************************************Mysql *******************************************

列   ClassName

ColumnType

DisplaySize

TypeName

0:  java.lang.Integer

ColumnType:4

11

INTEGER

1:  java.lang.Integer

ColumnType:-6

4

TINYINT

2:  java.lang.String

ColumnType:12

0

UNKNOWN

3:  java.lang.Boolean

ColumnType:-7

1

TINYINT

4:  java.lang.Integer

ColumnType:5

6

SMALLINT

5:    java.lang.Integer

ColumnType:4

9

MEDIUMINT

6:    java.lang.Integer

ColumnType:4

11

INTEGER

7:    java.lang.Long

ColumnType:-5

20

BIGINT

8:    java.lang.Double

ColumnType:8

22

DOUBLE

9:    java.lang.Double

ColumnType:8

22

DOUBLE

10:   java.lang.Float

ColumnType:7

12

FLOAT

11:   java.lang.String

ColumnType:12

11

UNKNOWN

12:   java.lang.String

ColumnType:12

11

UNKNOWN

13:   java.lang.String

ColumnType:1

300

CHAR

14:   java.lang.String

ColumnType:12

300

VARCHAR

15:   java.sql.Date

ColumnType:91

10

DATE

16:   java.sql.Time

ColumnType:92

8

TIME

17:   java.sql.Date

ColumnType:91

4

YEAR

18:         java.sql.Timestamp

ColumnType:93

19

TIMESTAMP

19:         java.sql.Timestamp

ColumnType:93

19

DATETIME

20:   [B

ColumnType:-3

255

TINYBLOB

21:   [B

ColumnType:-4

65535

BLOB

22:   [B

ColumnType:-4

16777215

MEDIUMBLOB

23:   [B

ColumnType:-4

-1

BLOB

24: java.lang.String

ColumnType:12

255

TINYBLOB

25:   java.lang.String

ColumnType:-1

65535

TEXT

26:   java.lang.String

ColumnType:-1

16777215

MEDIUMBLOB

27:   java.lang.String

ColumnType:-1

-1

TEXT

28:   java.lang.String

ColumnType:1

3

CHAR

29:   java.lang.String

ColumnType:1

3

CHAR

****************************************************MSSQL*******************************************

列   ClassName

ColumnType

DisplaySize

TYPENAME

0:    java.lang.Integer

ColumnType:4

11

INT IDENTITY

1:      java.lang.Long

ColumnType:-5

20

BIGINT

2:      byte[]

ColumnType:-2

100

BINARY

3:      java.lang.Boolean

ColumnType:-7

1

BIT

4:    java.lang.String

ColumnType:1

10

CHAR

5:      java.sql.Timestamp

ColumnType:93

23

DATETIME

6:      java.sql.Timestamp

ColumnType:93

23

DATETIME

7:  java.math.BigDecimal

ColumnType:3

20

DECIMAL

8:      java.lang.Double

ColumnType:6

22

FLOAT

9:    byte[]

ColumnType:-4

2147483647

IMAGE

10:java.math.BigDecimal

ColumnType:3

21

MONEY

11:   java.lang.String

ColumnType:1

10

NCHAR

12:   java.lang.String

ColumnType:-1

1073741823

NTEXT

13:java.math.BigDecimal

ColumnType:2

20

NUMERIC

14:   java.lang.String

ColumnType:12

50

NVARCHAR

15:   java.lang.Float

ColumnType:7

13

REAL

16:   java.sql.Timestamp

ColumnType:93

16

SMALLDATETIME

17:   java.lang.Integer

ColumnType:5

6

SMALLINT

18:java.math.BigDecimal

ColumnType:3

12

SMALLMONEY

19:   java.lang.String

ColumnType:12

8000

SQL_VARIANT

20:   java.lang.String

ColumnType:-1

2147483647

TEXT

21:   byte[]

ColumnType:-2

16

TIMESTAMP

22:   java.lang.Integer

ColumnType:-6

3

TINYINT

23:   java.lang.String

ColumnType:1

36

UNIQUEIDENTIFIER

24: byte[]

ColumnType:-3

100

VARBINARY

25:   java.lang.String

ColumnType:12

50

VARCHAR

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import java.sql.*; import jdbc.DBManager; import jdbc.DBManagerTest; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author * @version 1.0 */ /** * DBManager示例程序 */ public class Test { public Test() { } public static void main(String[] args) { DBManagerTest DBManagerTest1 = new DBManagerTest(); DBManager db_manager = new DBManager(); ResultSet result = null; // 数据库查询结果 try { db_manager.connect("rcms"); // 建表 db_manager .execute("create table table22 (c1 varchar(32) not null,c2 varchar(21))"); } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } try { // 表更新操作,包括insert,update,delete db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow1','engine1')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow2','engine2')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow3','engine3')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow4','engine4')"); db_manager.beginTransaction(); // for(int i=1500;i<2000;i++){ //// db_manager.executeUpdate("insert into T_USER (USER_ID, USER_NAME, ORG_ID, PASSWD, OLD_PASSWD, STATION, CREAT_DATE, CREAT_TIME, ALTER_DATE, ALTER_TIME, DEL_DATE, TEL, EMAIL, STATUS, SEX, ACADEMIC, CERTI_TYPE, CERTI, FAX, ADRESS, POSTCODE, BAK1, BAK2, BAK3, BAK4, BAK5)values ('test00"+i+"', 'test00"+i+"', '0001 ', 'FF5E61835C355E755EEF9321 ', 'A43B59E342F86CEE5EEF9321 ', '0 ', '20071201', '101010', null, null, null, null, null, '1', null, null, null, null, null, null, null, null, null, null, null, null)"); // db_manager.executeUpdate("insert into T_USER_ROLE values('test00"+i+"','sys_admin','')"); // if(i%300==0)db_manager.commitTransaction(); // } } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } try { // 表查询操作,返回结果集存在DBResult类中,DBResult中的数据库查询结果已与数据库断开连接了, // 不能动态更新,注意在并发操作中应重新执行表查询操作 result = db_manager.executeQuery("select * from table22"); } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } // int rows = result.getRows(); //返回的记录数 try { while (result.next()) { String s = result.getString("c1");// 取第4条记录c1的字段 System.out.println(s); s = result.getString("c2"); System.out.println(s); } } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值