java jdbc连接mysql数据库插入null值问题

问题描述

java jdbc连接mysql数据库插入null值问题
ps.setFloat(8 device.getLatitude());如果device.getLatitude()返回的是null就报错,也就是说setFloat不能插入空值,而setString()方法就可以,不知道为什么请高手指点,谢谢!!

解决方案

PreparedStatement.java 的给方法签名是这样的
public void setFloat(int parameterIndex float x) throws SQLException
参考http://www.docjar.com/html/api/com/mysql/jdbc/PreparedStatement.java.html 的3647行。

方法的参数是float的原生类型,而不是包装类型,所以你不能传递null,因为将null转化为float或者任何其他原生类型都会抛NPE。解决办法就是在调用setFloat()方法的时候先检查device.getLatitude()的值。
if(device.getLatitude()==null){
ps.setFloat(8 0f);
}else{
ps.setFloat(8 device.getLatitude())
}

你完全可以把这个方法提取出来,在多处调用。

时间: 2024-11-03 14:39:31

java jdbc连接mysql数据库插入null值问题的相关文章

Java 通过JDBC连接Mysql数据库_java

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序. 如果要使用数据库就要添加数据库的驱动,不同的数据库有不用的驱动,这里就不一一说明,添加jar程序驱动包的方法就不在这里解释, 另一个文章里面有介绍http://www.jb51.net/artic

JDBC连接MySQL数据库及演示样例

JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,能够为多种关系数据库提供统一訪问,它由一组用Java语言编写的类和接口组成.JDBC为数据库开发者提供了一个标准的API,据此能够构建更高级的工具和接口,使数据库开发者能够用纯 Java API 编写数据库应用程序,而且可跨平台执行,而且不受数据库供应商的限制. 1.跨平台执行:

java实现连接mysql数据库单元测试查询数据的实例代码_java

1.按照javaweb项目的要求逐步建立搭建起机构,具体的类包有:model .db.dao.test; 具体的架构详见下图: 2.根据搭建的项目架构新建数据库test和数据库表t_userinfo并且添加对应的测试数据; (这里我使用的是绿色版的数据库,具体的下载地址:http://pan.baidu.com/s/1mg88YAc) 具体的建立数据库操作详见下图: 开发实例"> 3.编写包中的各种类代码,具体参考代码如下: UserInfo.java /** * FileName: Us

JSP使用JDBC连接MYSQL数据库的方法_JSP编程

本文实例讲述了JSP使用JDBC连接MYSQL数据库的方法.分享给大家供大家参考,具体如下: 1. 可在 http://www.mysql.com/products/connector-j/index.html下载MySQL JDBC驱动程序mysql-connector-java-*.jar,如我下载的是mysql-connector-java-5.1.18-bin.jar并加入到ClassPath下面,或加入到项目中.   2. 注册JDBC驱动程序 try { Class.forName(

mysql-初学JDBC连接MYSQL数据库,出现一个异常,求教,在线等

问题描述 初学JDBC连接MYSQL数据库,出现一个异常,求教,在线等 首先贴下拿来做试验的数据库,证明我数据库名没写错?d-7test 用户名,密码也没错耶 再来贴下代码: jar包也是加了的: 最后红条,报了这个错: 解决方案 Classpath中有没有包含你的mtsql驱动jar包? 解决方案二: getConnection里头不要写"url:"啊!,直接jdbc:mysql.... 解决方案三: 你的connect配置不对 解决方案四: 检查路径下有没有mysql-jdbc的j

jdbc连接mysql数据库驱动加载失败

问题描述 jdbc连接mysql数据库驱动加载失败 各位大神帮我看看这是啥意思,加载了驱动但还是报错啊 解决方案 右键build-path->add jars将lib下的驱动jar添加到类路径下,试试. 解决方案二: 已经解决了谢谢,好像是将jar包放在system jar里面 解决方案三: http://download.csdn.net/detail/be_proud/9301443 代码http://download.csdn.net/detail/be_proud/9301631 jar

java jdbc连接access2003数据库,读取中文乱码问题

问题描述 我用jdbc连接access2003数据库,表中有个字段类型是"文本"类型.该字段中的数据是中文的,我用rs读取是乱码.在网上搜索解决方案,说是可以用编码转换的方式解决,但是我使用该方法仍然显示乱码,求帮忙,谢谢!部分代码如下:Connection conn = getConnection(tableUrl);ResultSet rs = null;Statement statement = null;statement = conn.createStatement();rs

JDBC连接MySQL数据库小例子

前几天没事翻看了一下JDBC,顺便写了一个小demo.demo代码如下: package com.zkn.newlearn.jdbc.mysql.first; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.sql.*; import java.util.Properties; /** * Created by zkn on 2017/5/2. */ public

MyEclipse通过JDBC连接MySQL数据库基本介绍_Mysql

1.前提是MyEclipse已经能正常开发Java工程 2.安装MySQL 个人使用的是版本是 mysql-5.0.22-win32.zip 网址:http://www.mysql.com/downloads/mysql/#downloads 3.下载JDBC驱动 个人使用的是 mysql-connector-java-5.1.22.zip,所需要的就是解压缩之后其中的 mysql-connector-java-5.1.22-bin.jar 网址:http://www.mysql.com/dow