工作日记2017.07.25 mysql中存TINYINT,转Object会变为boolean类型及类型普及

mysql中存TINYINT,转Object会变为boolean类型
解决办法:
1.查询语句+0
2.使用jdbctemplate.queryForList的其他构造方式,
出现Incorrect column count: expected 1, actual (在使用jdbc的querForObject queryForList的时候)

比如

String sql = "select * from member where mid = 100051";
SysUser s = this.jdbcTemplate.queryForObject(sql, Member.class);

其实这样是不对的,

应该为

String sql = "select name from member where mid = 100051";
String s = this.jdbcTemplate.queryForObject(sql, String.class);
System.out.println(s);

这个 jdbcTemplate.queryForObject(sql, requiredType) 中的requiredType应该为八种基础类型,和String类型。

如果想查真正的object应该为

List<Member> mList = jdbcTemplate.query(sql, new Object[]{}, new BeanPropertyRowMapper<Member>(member.class));
            if(null!=mList&&mList.size()>0){
                Member m = mList.get(0);
            }

The following table shows the mapping between SQL and Java data types. They are from JDBC.

SQL data type Java data type
Simply mappable Object mappable
CHARACTER   String
VARCHAR   String
LONGVARCHAR   String
NUMERIC   java.math.BigDecimal
DECIMAL   java.math.BigDecimal
BIT boolean Boolean
TINYINT byte Integer
SMALLINT short Integer
INTEGER int Integer
BIGINT long Long
REAL float Float
FLOAT double Double
DOUBLE PRECISION double Double
BINARY   byte[]
VARBINARY   byte[]
LONGVARBINARY   byte[]
DATE   java.sql.Date
TIME   java.sql.Time
TIMESTAMP   java.sql.Timestamp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值